diff -Nru openjdk-ecj.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties
--- openjdk-ecj.orig/jaxws/build.properties	2012-08-15 18:46:16.919765424 +0100
+++ openjdk-ecj/jaxws/build.properties	2012-08-15 18:47:22.540691870 +0100
@@ -66,6 +66,10 @@
 # JAXP built files
 jaxp.classes.dir=${output.dir}/../jaxp/build/classes
 
+# JDK sources
+
+jdk.sources=${jdk.topdir}/src/share/classes:${jdk.topdir}/src/solaris/classes
+
 # Distributed results
 dist.dir=${output.dir}/dist
 dist.lib.dir=${dist.dir}/lib
@@ -110,6 +114,7 @@
   dist.dir=${dist.dir}${line.separator}\
   drop.dir=${drop.dir}${line.separator}\
   drops.dir=${drops.dir}${line.separator}\
+  jdk.topdir=${jdk.topdir}${line.separator}\
 ${line.separator}
 
 # Failure messages when source cannot be found on the file system
diff -Nru openjdk-ecj.orig/jaxws/build.xml openjdk-ecj/jaxws/build.xml
--- openjdk-ecj.orig/jaxws/build.xml	2012-08-15 18:46:16.919765424 +0100
+++ openjdk-ecj/jaxws/build.xml	2012-08-15 18:46:41.328109723 +0100
@@ -125,6 +125,7 @@
         <javac 
 	     includeAntRuntime="false" 
 	     classpath="${jaxp.classes.dir}:${build.classes.dir}:${langtools.jar}"
+	     sourcepath="${jdk.sources}"
 	     fork="true"
              destdir="${build.classes.dir}"
              memoryInitialSize="${javac.memoryInitialSize}"
diff -Nru openjdk-ecj.orig/jaxws/make/Makefile openjdk-ecj/jaxws/make/Makefile
--- openjdk-ecj.orig/jaxws/make/Makefile	2012-08-15 18:46:16.923765481 +0100
+++ openjdk-ecj/jaxws/make/Makefile	2012-08-15 18:46:41.328109723 +0100
@@ -140,6 +140,10 @@
   endif
 endif
 
+ifdef JDK_TOPDIR
+  ANT_OPTIONS += -Djdk.topdir=$(JDK_TOPDIR)
+endif
+
 # Default target and expected 'do everything' target
 default: all
 
