FYI - After further investigation and testing, I was able to achieve full backwards compatibility with the AXIS 1.2 Final client by specifying "noWrapped" option -W to WSDL2Java. I generated clients against both WSDLs (reading below, it was the same service, but the autogenerated WSDLs interchanged xsd:sequence and xsd:all as well as maxLength and length).
So now I am really leery of using AXIS "doc/lit" wrapped support... maybe there is a bug somewhere here? Any more insight. Thanks! Thunder -----Original Message----- From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 01, 2005 5:39 PM To: [email protected] Subject: Re: Response Message Consumption Problem Axis 1.1 -> 1.2 Maybe you can show use what's different between the old and new WSDL? I'm always leery of using a "new" WSDL to access an "old" service. Anne On 6/1/05, Parley, Thunder Jon <[EMAIL PROTECTED]> wrote: > Hi List, > > Any insight here is welcome. The WS is NOT axis based, only the client. > > The server WS used to return (older server): > > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Bod > y> > <MYSERVICE.Response xmlns="urn:my:own:space"> > <DATA> > <item> > <STUFF>SWPKGBUILDER</STUFF> > </item> > </DATA> > <MOREDATA> > <item> > <SOMETHING>THIS</SOMETHING> > </item> > </MOREDATA> > </MYSERVICE.Response> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > And this was OK with my AXIS 1.1 client, but not with my 1.2 Final > client. > > The upgraded server now returns (newer server): > > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Bod > y> > <cfr:MYSERVICE.Response xmlns:cfr="urn:my:own:space"> > <DATA> > <item> > <STUFF>SWPKGBUILDER</STUFF> > </item> > </DATA> > <MOREDATA> > <item> > <SOMETHING>THIS</SOMETHING> > </item> > </MOREDATA> > </cfr:MYSERVICE.Response> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > So why would an Axis 1.2 client balk at the first response whereas 1.1 > client was fine? What I did was create the AXIS 1.2 client using > WSDL2Java on the newer WSDL and then pointed it at the older service. > Note, that the function being called did not change only the version of > the server hosting the function/WS. The error I get from 1.2Final is: > > {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: > SimpleDeserializer encountered a child element, which is NOT expected, > in something it was trying to deserialize. > > I looked at the autogenerated WSDLs provided by the server (again, not > AXIS) and the only difference is that the old WSDL uses <xsd:sequence> > and <xsd:length> tags whereas the newer WSDL uses <xsd:all> and > <xsd:maxLength> instead. > > Thanks! > > Thunder >
