After several hours I have successfully deployed a very simple web service that I was able to call with a client (manually constructing the calls). When I enter the url "http://localhost/api" the Axis servlet shows the following response:
And now... Some Services
Deziro (wsdl)
doFoo
If I follow the wsdl link I get a 404. Searching around I got the vaque clue that I should do "something" with a qs:wsdl, but what I don't know. I blindly copied the 'transport' section from a Google result. Doesn't work.
I can generate the wsdl with the Ant task. I could pack this, for example, in a wsdl directory and tell the third party integrators to get the wsdl from there, but I'm not sure whether appending ?wsdl is a standard method.
Here's the server-config.wsdd, deployed in the WEB-INF directory:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="Deziro" provider="java:RPC">
<parameter name="className" value="net.lerutte.deziro.soap.Deziro"/>
<parameter name="allowedMethods" value="*"/>
</service>
<transport name="http"> <requestFlow> <handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow>
<parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
<parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
<parameter name="qs:method"
value="org.apache.axis.transport.http.QSMethodHandler"/>
</transport>
<transport name="local"> <responseFlow> <handler type="LocalResponder"/> </responseFlow> </transport> </deployment>
web.xml (snippets): <servlet> <servlet-name>soap</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet>
<servlet-mapping> <servlet-name>soap</servlet-name> <url-pattern>/api/*</url-pattern> </servlet-mapping>
<mime-mapping> <extension>wsdl</extension> <mime-type>text/xml</mime-type> </mime-mapping>
Thanks in advance. Maurice le Rutte.