axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dino Chiesa" <din...@microsoft.com>
Subject RE: Empty namespace - again
Date Tue, 15 Mar 2005 14:27:34 GMT
 
Dims (& Dennis, et al) ,  Following up on this : 

Richard confirmed for me that he is using the dynamically-generated
WSDL, so this *does* appear to be the same issue as
http://issues.apache.org/jira/browse/AXIS-1366 


-D


> -----Original Message-----
> From: Dino Chiesa [mailto:dinoch@microsoft.com]
> Sent: 11 March 2005 21:31
> To: axis-user@ws.apache.org; dims@apache.org
> Cc: Richard Wallis; Anne Thomas Manes
> Subject: RE: Empty namespace - again
> 
> I believe this is the same issue, Dims. 
> 
> I still see what Dan Ciarniello mentioned in his comments,  [16/Oct/04
> 01:29 PM] , with v1.2RC3. 
> 
> And I believe this may be what Richard is seeing. 
> Richard, did you build the client with the generated WSDL?  
> Or with the static (manually coded) WSDL? 
> Or? 
> 
> -Dino
> 
> 
> -----Original Message-----
> From: Davanum Srinivas [mailto:davanum@gmail.com]
> Sent: Friday, March 11, 2005 4:13 PM
> To: axis-user@ws.apache.org
> Cc: Richard Wallis; Anne Thomas Manes
> Subject: Re: Empty namespace - again
> 
> 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 <dinoch@microsoft.com>
> 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:Richard.Wallis@talis.com]
> > 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:atmanes@gmail.com]
> > > 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 
> > > <Richard.Wallis@talis.com> 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.Wrap
> > > pe
> > > > 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:atmanes@gmail.com]
> > > > > 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 
> > > > > <Richard.Wallis@talis.com> 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:atmanes@gmail.com]
> > > > > > > Sent: 11 March 2005 15:56
> > > > > > > To: axis-user@ws.apache.org
> > > > > > > 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 
> > > > > > > <Richard.Wallis@talis.com> 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:atmanes@gmail.com]
> > > > > > > > > Sent: 11 March 2005 15:22
> > > > > > > > > To: axis-user@ws.apache.org
> > > > > > > > > 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

> > > > > > > > > <Richard.Wallis@talis.com> 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/
> 
> 

Mime
View raw message