For the complexType tag, there no special things to do. If you write a web service which use a Java Bean classe (attributes+getters+setters), it will be generated as a complexType (xml schema) in the WSDL file when you deploy it with your ant script.
Thats what I thought. But it seems to be a little tricky. Here's my part of the ant-skript:
-------------------------------------------------------------------------
<axis-java2wsdl
style="wrapped"
location="${deploy.admin.url}/myws/services/Admin"
namespace="${namespace}"
output="${local.wsdl}"
classname="${package}.AdminWebServiceInterface" >
<classpath>
<pathelement path="classpath"/>
<pathelement location="${build.dest.java}"/>
</classpath>
<complextype
classname="${package}.UserTOImpl"
namespace="urn:admin" />
</axis-java2wsdl>
-------------------------------------------------------------------------
But if I run this I get the output below. The wired thing is, that the "UserTOImpl" exists at the same place like the "AdminWebServiceInterface". Without using the ComplexType everything works fine... I am really confused...
MArtin
Exception:
-------------------------------------------------------------------------
[axis-java2wsdl] log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
[axis-java2wsdl] log4j:WARN Please initialize the log4j system properly.
[axis-java2wsdl] Java2WSDL de.dpcom.test.webservices.server.AdminWebServiceInterface
[axis-java2wsdl] java.lang.ClassNotFoundException: de.dpcom.test.webservices.server.UserTOImpl
[axis-java2wsdl] at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1149)
[axis-java2wsdl] at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1090)
[axis-java2wsdl] at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:960)
[axis-java2wsdl] at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
[axis-java2wsdl] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
[axis-java2wsdl] at java.lang.Class.forName0(Native Method)
[axis-java2wsdl] at java.lang.Class.forName(Class.java:140)
[axis-java2wsdl] at org.apache.axis.tools.ant.wsdl.ComplexType.register(ComplexType.java:52)
[axis-java2wsdl] at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:206)
[axis-java2wsdl] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[axis-java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:364)
[axis-java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:341)
[axis-java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[axis-java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[axis-java2wsdl] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[axis-java2wsdl] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[axis-java2wsdl] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[axis-java2wsdl] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[axis-java2wsdl] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
-------------------------------------------------------------------------
