Author: veithen Date: Thu Sep 20 16:38:49 2012 New Revision: 1388110 URL: http://svn.apache.org/viewvc?rev=1388110&view=rev Log: AXIS-1315: Fixed the java2wsdl task so that it loads classes specified using <complextype> from the right class loader (i.e. so that it takes into account a nested <classpath> element).
Modified: axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/ComplexType.java axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java axis/axis1/java/trunk/distribution/pom.xml axis/axis1/java/trunk/distribution/src/main/files/samples/ejb/ant-build.xml Modified: axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/ComplexType.java URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/ComplexType.java?rev=1388110&r1=1388109&r2=1388110&view=diff ============================================================================== --- axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/ComplexType.java (original) +++ axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/ComplexType.java Thu Sep 20 16:38:49 2012 @@ -48,15 +48,15 @@ public class ComplexType { this.namespace = namespace; } - public void register(TypeMapping tm) throws ClassNotFoundException { - Class cl = Class.forName(className); + public void register(ClassLoader cl, TypeMapping tm) throws ClassNotFoundException { + Class cls = cl.loadClass(className); String localName = className.substring((className.lastIndexOf(".") + 1)); QName qName = new QName(namespace,localName); SerializerFactory sf = BaseSerializerFactory.createFactory( - Class.forName(serializer), cl, qName); + cl.loadClass(serializer), cls, qName); DeserializerFactory df = BaseDeserializerFactory.createFactory( - Class.forName(deserializer), cl, qName); + cl.loadClass(deserializer), cls, qName); - tm.register(cl, qName, sf, df); + tm.register(cls, qName, sf, df); } } \ No newline at end of file Modified: axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java?rev=1388110&r1=1388109&r2=1388110&view=diff ============================================================================== --- axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java (original) +++ axis/axis1/java/trunk/axis-ant/src/main/java/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java Thu Sep 20 16:38:49 2012 @@ -144,7 +144,7 @@ public class Java2WsdlAntTask extends Ta AntClassLoader cl = new AntClassLoader(getClass().getClassLoader(), getProject(), classpath == null ? createClasspath() : classpath, - false); + true); CommandlineJava.SysProperties sysProperties = commandline.getSystemProperties(); @@ -194,7 +194,7 @@ public class Java2WsdlAntTask extends Ta TypeMappingDelegate tmi = (TypeMappingDelegate)tmr.getDefaultTypeMapping(); Iterator i = complexTypes.iterator(); while (i.hasNext()) { - ((ComplexType) i.next()).register(tmi); + ((ComplexType) i.next()).register(cl, tmi); } if (style != null) { Modified: axis/axis1/java/trunk/distribution/pom.xml URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/distribution/pom.xml?rev=1388110&r1=1388109&r2=1388110&view=diff ============================================================================== --- axis/axis1/java/trunk/distribution/pom.xml (original) +++ axis/axis1/java/trunk/distribution/pom.xml Thu Sep 20 16:38:49 2012 @@ -93,6 +93,11 @@ <ant dir="${project.build.directory}/axis-${project.version}/samples/attachments"/> <ant dir="${project.build.directory}/axis-${project.version}/samples/bidbuy"/> <ant dir="${project.build.directory}/axis-${project.version}/samples/echo"/> + + <property name="deploy.dir" value="${project.build.directory}/jboss/deploy"/> + <mkdir dir="${deploy.dir}"/> + <ant dir="${project.build.directory}/axis-${project.version}/samples/ejb" antfile="ant-build.xml" target="j2w-nicethingsbean"/> + <ant dir="${project.build.directory}/axis-${project.version}/samples/encoding"/> <ant dir="${project.build.directory}/axis-${project.version}/samples/faults"/> <ant dir="${project.build.directory}/axis-${project.version}/samples/handler"/> @@ -129,6 +134,25 @@ <includeArtifactIds>junit</includeArtifactIds> </configuration> </execution> + <execution> + <id>copy-jboss-libs</id> + <phase>pre-integration-test</phase> + <goals> + <goal>copy</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>jboss</groupId> + <artifactId>jboss-j2ee</artifactId> + <version>3.2.3</version> + </artifactItem> + </artifactItems> + <overWrite>true</overWrite> + <outputDirectory>${project.build.directory}/jboss/lib</outputDirectory> + <stripVersion>true</stripVersion> + </configuration> + </execution> </executions> </plugin> <plugin> Modified: axis/axis1/java/trunk/distribution/src/main/files/samples/ejb/ant-build.xml URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/distribution/src/main/files/samples/ejb/ant-build.xml?rev=1388110&r1=1388109&r2=1388110&view=diff ============================================================================== --- axis/axis1/java/trunk/distribution/src/main/files/samples/ejb/ant-build.xml (original) +++ axis/axis1/java/trunk/distribution/src/main/files/samples/ejb/ant-build.xml Thu Sep 20 16:38:49 2012 @@ -10,7 +10,7 @@ <property name="axis.dir" location="../../"/> <path id="classpath.id"> - <fileset dir="${axis.dir}/build/lib"> + <fileset dir="${axis.dir}/lib"> <include name="*.jar"/> </fileset> <pathelement location="${deploy.dir}/../lib/jboss-j2ee.jar"/> @@ -89,13 +89,14 @@ namespaceImpl="http://localhost:8080/axis/services/SimpleBean"/> </target> - <target name="j2w-nicethingsbean"> + <target name="j2w-nicethingsbean" depends="compile"> <axis-java2wsdl classname="samples.ejb.NiceThingsBean" methods="sayHello,findNiceThingsFor,updateNiceThingsFor" output="nicethings.wsdl" location="http://localhost:8080/axis/services/NiceThingsBean" namespace="http://localhost:8080/axis/services/NiceThingsBean" namespaceImpl="http://localhost:8080/axis/services/NiceThingsBean"> + <classpath refid="classpath.id"/> <complextype classname="samples.ejb.NiceThings" namespace="urn:NiceThingsBean"/> <!-- You can also pass in another serializer/deserializer if you don't want to use the default