Richard, This is not a valid doc/literal WSDL document. You need to define the WSDL differently depending on whether you want rpc/encoded, rpc/literal, of doc/literal.
Here's how you should define your WSDL if you'd like to create a doc/literal service conforming to the "wrapped" programming convention (which offers the best interoperability with .NET). <wsdl:definitions xmlns:impl="urn:LookupBorrower" xmlns:intf="urn:LookupBorrower" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:LookupBorrower"> <wsdl:types> <xsd:schema targetNamepsace="urn:LookupBorrower"> <xsd:element name="echoString"> <xsd:complexType> <xsd:sequence> <xsd:element name="inputString" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="echoResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="return" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="echoStringRequest"> <wsdl:part name="parameters" element="intf:echoString"/> </wsdl:message> <wsdl:message name="echoStringResponse"> <wsdl:part name="parameters" element="intf:echoResponse"/> </wsdl:message> <wsdl:portType name="LookupBorrower"> <wsdl:operation name="echoString"> <wsdl:input message="impl:echoStringRequest"/> <wsdl:output message="impl:echoStringResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="LookupBorrowerSoapBinding" type="impl:LookupBorrower"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="echoString"> <wsdl:input> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="LookupBorrowerService"> <wsdl:port name="LookupBorrower" binding="impl:LookupBorrowerSoapBinding"> <wsdlsoap:address location="http://localhost:8080/axis/services/LookupBorrower"/> </wsdl:port> </wsdl:service> </wsdl:definitions> On Fri, 11 Mar 2005 15:37:34 -0000, Richard Wallis <[EMAIL PROTECTED]> wrote: > Here is the whole doc. > > For information I have tested this with all 4 possible combinations of > document/rpc & literal/encoded and the work fine axis to axis. The > problem is that .net doesn't like xmlns="" or encoded. > > <wsdl:definitions xmlns:impl="urn:LookupBorrower" > xmlns:intf="urn:LookupBorrower" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > targetNamespace="urn:LookupBorrower"> > <wsdl:message name="echoStringRequest"> > <wsdl:part name="inputString" type="xsd:string"/> > </wsdl:message> > <wsdl:message name="echoStringResponse"> > <wsdl:part name="return" type="xsd:string"/> > </wsdl:message> > <wsdl:portType name="LookupBorrower"> > <wsdl:operation name="echoString" > parameterOrder="inputString"> > <wsdl:input message="impl:echoStringRequest"/> > <wsdl:output message="impl:echoStringResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="LookupBorrowerSoapBinding" > type="impl:LookupBorrower"> > <wsdlsoap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="echoString"> > <wsdl:input> > <wsdlsoap:body use="literal" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="urn:LookupBorrower"/> > </wsdl:input> > <wsdl:output> > <wsdlsoap:body use="literal" > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="urn:LookupBorrower"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="LookupBorrowerService"> > <wsdl:port name="LookupBorrower" > binding="impl:LookupBorrowerSoapBinding"> > <wsdlsoap:address > location="http://localhost:8080/axis/services/LookupBorrower"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > Regards, > Richard. > > -----Original Message----- > > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] > > Sent: 11 March 2005 15:22 > > To: [email protected] > > Subject: Re: Empty namespace - again > > > > Please provide the rest of the WSDL document. > > > > Can we assume that you have defined the <return> element in the WSDL? > > > > Anne > > > > > > On Fri, 11 Mar 2005 15:00:29 -0000, Richard Wallis > > <[EMAIL PROTECTED]> wrote: > > > Hi, > > > > > > This combination in the WSDL used as input to wsdl2java: > > > > > > <wsdlsoap:binding style="document" ........... > > > <wsdlsoap:body use="literal" ......... > > > > > > Results in an empty namespace thus: > > > > > > <soapenv:Body> > > > <return xmlns="">Hello World</return> > > > </soapenv:Body> > > > > > > Following many threads on this list it is clear that this > > is a problem. > > > > > > If you are trying to consume an axis service in .net it > > appears to be > > > a 'show stopper'. I have tried use="encoded" but .net > > rejects it, and > > > also style="rpc" but still get xmlns="". > > > > > > As yet I have not been able to identify a work around for this. > > > Although there seems to some hints of a bug fix for this in the > > > pipeline, it is still a problem in 1.2RC3. > > > > > > Questions: > > > 1. Is there a work around for this so that I can at > > least use > > > my axis service in .net? > > > > > > 2. Is there a fix for this that will appear in the next RC? > > > > > > > > > Richard Wallis > > > > > > > > > > >
