I'd like to be able to deploy a web services that receives a
javax.xml.soap.SOAPElement and returns the same type. However, when I deploy the
following, Axis is generating invalid WSDL.
The problem in the WSDL is that a undefined prefix "tns1" is being used to define the
return type: "tns1:SOAPElement".
Details are below ...
Here is the service being deployed:
===================================
public class TestService {
public SOAPElement onRequest(SOAPElement msgElt)
throws RemoteException { return msgElt; }
}
Here is the WSDD:
=================
<deployment xmlns="http://xml.apache.org/axis/wsdd/">
<service name="TestService" style="document">
<parameter name="className"
value="com.javector.chap5.junk.TestService"/>
<parameter name="allowedMethods" value="onRequest" />
</service>
</deployment>
Here is the WSLD that gets generated at the URL
http://localhost:8080/axis/services/TestService?wsdl:
=====================================================
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/TestService"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://localhost:8080/axis/services/TestService"
xmlns:intf="http://localhost:8080/axis/services/TestService"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns2="http://junk.chap5.javector.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <schema targetNamespace="http://junk.chap5.javector.com"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="msgElt" />
</schema>
- <schema targetNamespace="http://localhost:8080/axis/services/TestService"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="onRequestReturn" type="tns1:SOAPElement" />
</schema>
</wsdl:types>
- <wsdl:message name="onRequestRequest">
<wsdl:part element="tns2:msgElt" name="msgElt" />
</wsdl:message>
- <wsdl:message name="onRequestResponse">
<wsdl:part element="impl:onRequestReturn" name="onRequestReturn" />
</wsdl:message>
- <wsdl:portType name="TestService">
- <wsdl:operation name="onRequest" parameterOrder="msgElt">
<wsdl:input message="impl:onRequestRequest" name="onRequestRequest" />
<wsdl:output message="impl:onRequestResponse" name="onRequestResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="TestServiceSoapBinding" type="impl:TestService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"
/>
- <wsdl:operation name="onRequest">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="onRequestRequest">
<wsdlsoap:body namespace="http://junk.chap5.javector.com" use="literal" />
</wsdl:input>
- <wsdl:output name="onRequestResponse">
<wsdlsoap:body namespace="http://localhost:8080/axis/services/TestService"
use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="TestServiceService">
- <wsdl:port binding="impl:TestServiceSoapBinding" name="TestService">
<wsdlsoap:address location="http://eai-client2:8080/axis/services/TestService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Thanks for your help ...
Mark Hansen
email: [EMAIL PROTECTED]