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:[EMAIL PROTECTED] > Sent: 11 March 2005 21:31 > To: [email protected]; [EMAIL PROTECTED] > 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:[EMAIL PROTECTED] > Sent: Friday, March 11, 2005 4:13 PM > To: [email protected] > 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 <[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.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:[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/ > >
