Dino,

Is the issue same as in JIRA bug AXIS-1366?
(http://issues.apache.org/jira/browse/AXIS-1366)

Or should we create a new issue for it?

thanks,
dims


On Fri, 11 Mar 2005 12:41:41 -0800, Dino Chiesa <[EMAIL PROTECTED]> wrote:
> Yes !  Ack!
> 
> I have seen this before.
> 
> When the schema does not declare an elementFormDefault ,
> .NET assumes it is one way,
> And AXIS assumes  it is the other.
> 
> This is a bug in one or the other.(I don't know what a schema parser is
> expected to do with EFD is missing).
> 
> The workaround is to specify elementFormDefault, one way or the other,
> in the schema.
> 
> Good catch, Anne!
> 
> 
> -----Original Message-----
> From: Richard Wallis [mailto:[EMAIL PROTECTED]
> Sent: Friday, March 11, 2005 1:29 PM
> To: Anne Thomas Manes
> Cc: Dino Chiesa
> Subject: RE: Empty namespace - again
> 
>  Anne,
> 
> Please award yourself a gold star! The elementFormDefault="qualified"
> solved it, and 18:24 on a Friday night in an empty office after a [very]
> long week.  ;-}
> 
> I've copied this to Dino for his interest.
> 
> Many thanks again,
> 
>         Richard.
> 
> > -----Original Message-----
> > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> > Sent: 11 March 2005 18:10
> > To: Richard Wallis
> > Subject: Re: Empty namespace - again
> >
> > I'm surprised that .NET got confused by this, because normally it
> > handles valid schema definitions. Perhaps Dino can shead some light on
> 
> > it. But here's a work around. Add the elementFormDefault="qualified"
> > attribute to the scehma definition, which will make the <return>
> > element namespace qualified.
> >
> > <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"
> >       elementFormDefault="qualified">
> >      <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 17:56:50 -0000, Richard Wallis
> > <[EMAIL PROTECTED]> wrote:
> > > Anne,
> > >
> > > I did, but it didn't!
> > >
> > > Here is my bit of C# built in Visual C#.net pulling in the Web
> > > reference of my wsdl as supplied by my Axis server:
> > >
> > > static void Main(string[] args)
> > > {
> > >   ConsoleApplication1.rjwpc.LookupBorrowerService srv = new
> > > ConsoleApplication1.rjwpc.LookupBorrowerService();
> > >   String ret = srv.echoString("Hi there");
> > >   Console.WriteLine("Response: "+ret); }
> > >
> > > It ret is set to null after the echoString() call.  Digging
> > in to the
> > > auto created C# code I get the following:
> > >
> > > /// <remarks/>
> > > [System.Web.Services.Protocols.SoapDocumentMethodAttribute("",
> > > RequestNamespace="urn:LookupBorrower",
> > > ResponseNamespace="urn:LookupBorrower",
> > > Use=System.Web.Services.Description.SoapBindingUse.Literal,
> > >
> > ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrappe
> > > d)
> > > ]
> > > [return: System.Xml.Serialization.XmlElementAttribute("return")]
> > > public string echoString(string inputString) {
> > >    object[] results = this.Invoke("echoString", new object[]
> > > {inputString});
> > >    return ((string)(results[0]));
> > > }
> > >
> > > The ResponseNamespace="urn:LookupBorrower" makes me wonder
> > what NS it
> > > is looking for 'return' to be in.
> > > Debug shows 'results' is a one element array with that
> > element being
> > > null.
> > >
> > > I'm getting more confused by the hour.
> > >
> > > Richard.
> > >
> > > P.S. I'm not too concerned about XMLSpy either!
> > >
> > >
> > > > -----Original Message-----
> > > > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> > > > Sent: 11 March 2005 17:36
> > > > To: Richard Wallis
> > > > Subject: Re: Empty namespace - again
> > > >
> > > > I don't understand what XMLSpy is complaining about, but
> > there are a
> > > > number of known errors in XMLSpy. Perhaps it's just complaining
> > > > because I used the same namespace for both the WSDL and
> > the schema
> > > > (which is acceptable).
> > > >
> > > > But there's nothing wrong with the second point. .NET will not
> > > > object to the fact that <return> is unqualified, because
> > that's what
> > > > the schema says it should be. .NET was objecting to the fact that
> > > > the child element of the SOAP Body was unqualified.
> > > >
> > > > Try. You'll see.
> > > >
> > > > Anne
> > > >
> > > >
> > > > On Fri, 11 Mar 2005 17:01:42 -0000, Richard Wallis
> > > > <[EMAIL PROTECTED]> wrote:
> > > > > Hi Anne,
> > > > >
> > > > > Thanks for this, but two problems:
> > > > > 1. My copy of XMLSpy complains "Message part 'parameters'
> > > > (in Message
> > > > > echoStringRequest) - parameter intf:echoString: NS
> > prefix does not
> > > > > refer to this schema!"
> > > > >
> > > > > But more importantly,
> > > > > 2. The problem still persists but nested 1 level down,
> > > > 'return' still
> > > > > has xmlns="":
> > > > >
> > > > >    <soapenv:Envelope
> > > > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> > > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> > > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> > > > >       <soapenv:Body>
> > > > >          <echoStringResponse xmlns="urn:LookupBorrower">
> > > > >             <return xmlns="">Hello mum</return>
> > > > >          </echoStringResponse>
> > > > >       </soapenv:Body>
> > > > >    </soapenv:Envelope>
> > > > >
> > > > > Richard.
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> > > > > > Sent: 11 March 2005 15:56
> > > > > > To: [email protected]
> > > > > > Subject: Re: Empty namespace - again
> > > > > >
> > > > > > 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
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> >
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Reply via email to