Dino, Yep, we have not closed the bug yet. waiting for input on how best to solve the problem.
-- dims On Fri, 11 Mar 2005 14:13:16 -0800, Dino Chiesa <[EMAIL PROTECTED]> wrote: > Dennis, > > > it's .NET that has the problem. Does that match your understanding, > Dino? > > Nope. > When I run .NET's wsdl.exe on a wsdl that contains a schema that omits > the elementFormDefault attribute, the generated client-side proxy > classes have inline code attributes that specify elements should be > unqualified. Dennis, I believe this agrees with your translation of the > spec requirements. When I modify the schema to specify an > elementFormDefault, the generated client-side proxy agrees with that > attribute value. In other words, everything behaves as expected. So > unless Richard is seeing something different, then .NET is behaving > properly. > > > > The bug that you referenced, dims, is for WSDL generation from Axis. > This problem is with the actual operation based on a supplied WSDL, if > I'm understanding it correctly. > > I don't know, I am not clear on just what steps Richard has followed. > We need him to ring back in here. If he generates his .NET client-side > proxy from the (broken) WSDL generated by AXIS, then... he would see the > error he described. It would agree with what I have just reproduced > myself. If he generated his .NET client-side proxy from the original > static WSDL, and saw that problem, then there's something wrong on the > .NET side. But this would disagree with what I have just seen in my > tests. > > I suspect Richard is across the pond, though, and won't be getting back > to us until next week. . . > > --- > The bug Dims referenced, still exists in RC3. > > > -D > > -----Original Message----- > From: Dennis Sosnoski [mailto:[EMAIL PROTECTED] > Sent: Friday, March 11, 2005 4:49 PM > To: [email protected] > Subject: Re: Empty namespace - again > > I haven't followed this in detail all the way through, but from what I > can see of the schema in this email it sounds like Axis is doing the > correct thing, it's .NET that has the problem. Does that match your > understanding, Dino? > > The bug that you referenced, dims, is for WSDL generation from Axis. > This problem is with the actual operation based on a supplied WSDL, if > I'm understanding it correctly. > > - Dennis > > Davanum Srinivas wrote: > > >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.Wrapp > >>>e > >>> > >>> > >>>>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/
