You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Qwzrl <qw...@tiscali.nl> on 2004/11/29 22:34:01 UTC
Newbie: ?wsdl gives a 404 on Jetty
I'm trying to install Axis 1_2RC2 on Jetty 4.2.22 with JDK 1.5. I've never
before used Axis or SOAP, so I'm a total newbie in this respect.
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.