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
> > >
> > >
> >
> >
>

Reply via email to