Here's the template I'm using and ant target. ========================= axis-wsdd.xdt =========================
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration> <parameter name="sendXsiTypes" value="true"/> <parameter name="sendMultiRefs" value="true"/> <parameter name="sendXMLDeclaration" value="true"/> <parameter name="axis.sendMinimizedElements" value="true"/> </globalConfiguration> <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/> <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> <XDtClass:forAllClasses> <XDtClass:ifHasClassTag tagName="mycompany.service-object"> <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns:<XDtClass:className/>" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:<XDtClass:fullClassName/>" xmlns:ns="http://model.spike.mycompany.com.au"/> </XDtClass:ifHasClassTag> </XDtClass:forAllClasses> <XDtClass:forAllClasses> <XDtClass:ifIsClassAbstract> <XDtClass:ifHasClassTag tagName="mycompany.service" paramName="springBeanName"> <service name="<XDtClass:className/>" provider="Handler"> <parameter name="allowedMethods" value="*"/> <parameter name="wsdlPortType" value="<XDtClass:className/>"/> <parameter name="springBeanName" value="<XDtClass:classTagValue tagName=mycompany.service' paramName='springBeanName'/>"/> <parameter name="interfaceName" value="<XDtClass:fullClassName/>"/> <parameter name="handlerClass" value="au.com.mycompany.spike.webservice.axis.SpringBeanProvider"/> <parameter name="wsdlServicePort" value="<XDtClass:className/>"/> <parameter name="wsdlTargetNamespace" value="http://service.spike.mycompany.com.au"/> <parameter name="wsdlServiceElement" value="<XDtClass:className/>"/> </service> </XDtClass:ifHasClassTag> </XDtClass:ifIsClassAbstract> </XDtClass:forAllClasses> <transport name="http"> <requestFlow> <handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow> </transport> <transport name="local"> <responseFlow> <handler type="LocalResponder"/> </responseFlow> </transport> </deployment> ===================== build.xml ===================== <target name = "webapp-generate-wsdd" description = "Uses XDoclet to generate the server-config.wsdd file" depends = "compile"> <templatedoclet destdir="${WEB-INF}" verbose="1" excludedtags="author"> <fileset dir="${src}"> <include name="**/*.java" /> </fileset> <template templateFile="${src.config}/axis-wsdd.xdt" destinationFile="server-config.wsdd"/> </templatedoclet> </target> -----Original Message----- From: Dan Ciarniello [mailto:[EMAIL PROTECTED] Sent: Tuesday, 19 October 2004 10:22 AM To: [EMAIL PROTECTED] Subject: Re: WSDL2Java and deploy.wsdd Nathan Wardle wrote: >Hi Dan, > >I had similar problems because I wanted to use a custom provider. My solution was to >not use WSDL2Java for the generation of server side code. Instead, I used XDoclet to >generate the deploy.wsdd (well actually I just generated the server-config.wsdd for >all services. This works really well because all I have to do is put a couple of tags >in my classes and I can generate service definitions as well as typemappings etc. I >also now know that what I'm deploying is truly related to my code and if the code >changes, so will the deployment descriptor. > >Nathan > > > Thanks for the info, Nathan. I had taken a quick look at XDoclet this morning but at first glance it didn't look like it would do this. I guess I'll look more closely. Dan.
