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.