[ http://issues.apache.org/jira/browse/AXIS-1308?page=comments#action_12314322 ]
Thomas Boerkel commented on AXIS-1308: -------------------------------------- This is was .NET (1.1) had sent that caused the Deserializing problem: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://p2test.p2plus.apag.com" xmlns:types="http://p2test.p2plus.apag.com/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <tns:arrayTest><numbers href="#id1" /> </tns:arrayTest><soapenc:Array id="id1" soapenc:arrayType="xsd:int[3]"> <Item>5</Item><Item>6</Item><Item>7</Item> </soapenc:Array> </soap:Body> </soap:Envelope> > Axis 1.2 beta and .NET 1.1: Problem with arrays > ----------------------------------------------- > > Key: AXIS-1308 > URL: http://issues.apache.org/jira/browse/AXIS-1308 > Project: Apache Axis > Type: Bug > Components: Basic Architecture > Versions: 1.2 Beta > Environment: Windows 2000 server, JDK 1.4.2_03, .NET 1.1, Axis 1.2 Beta > Reporter: Thomas Boerkel > Assignee: Glen Daniels > Fix For: 1.2 > Attachments: SoapTest_11RC2.wsdl, SoapTest_12Beta.wsdl, cdx.wsdl > > I was able to return an array from an Axis 1.1 RC2 server to a .NET 1.1 > client without problems. > With Axis 1.2 beta, the .NET client throws an exception: > System.InvalidOperationException: There is an error in XMLdocument (5, 5). > ---> System.InvalidOperationException: The specified type as not recognized: > name='string', namespace='http://schemas.xmlsoap.org/soap/encoding/', at > <arrayTestReturn xmlns=''>. > I don't know, if this is a bug in Axis or .NET, but I think the interop is > very important, so even a workaround in Axis for a .NET bug should be > considered, until MS fixes their bug. > This is the response XML from Axis 1.1 RC2: > <?xml version="1.0" encoding="UTF-8"?> > <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> > <ns1:arrayTestResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns1="http://p2test.p2plus.apag.com"> > <arrayTestReturn xsi:type="soapenc:Array" > soapenc:arrayType="xsd:string[3]" > xmlns:ns2="http://www.w3.org/2002/12/soap-encoding" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> > <item>5</item> > <item>6</item> > <item>7</item> > </arrayTestReturn> > </ns1:arrayTestResponse> > </soapenv:Body> > </soapenv:Envelope> > And this from Axis 1.2 beta: > <?xml version="1.0" encoding="UTF-8"?> > <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> > <ns1:arrayTestResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns1="http://p2test.p2plus.apag.com"> > <arrayTestReturn soapenc:arrayType="soapenc:string[3]" > xsi:type="soapenc:Array" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> > <item xsi:type="soapenc:string">5</item> > <item xsi:type="soapenc:string">6</item> > <item xsi:type="soapenc:string">7</item> > </arrayTestReturn> > </ns1:arrayTestResponse> > </soapenv:Body> > </soapenv:Envelope> > This is the Java method signature: > public String[] arrayTest(int[] numbers) > We do not use deployment and we do not use Tomcat, but something like this: > axisServer = new AxisServer(new NullProvider()); > axisServer.init(); > msg = new Message(xml); > msgContext = new MessageContext(axisServer); > msgContext.setRequestMessage(msg); > service = getService(completeName); > msgContext.setService(service); > axisServer.invoke(msgContext); > msg = msgContext.getResponseMessage(); > xml= msg.getSOAPPartAsString(); > If I use > service.setStyle(Style.WRAPPED) > service.setUse(Use.LITERAL) > Then this is the response from Axis: > <?xml version="1.0" encoding="UTF-8"?> > <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> > <arrayTestResponse xmlns="http://p2test.p2plus.apag.com"> > <arrayTestReturn>5</arrayTestReturn> > <arrayTestReturn>6</arrayTestReturn> > <arrayTestReturn>7</arrayTestReturn> > </arrayTestResponse> > </soapenv:Body> > </soapenv:Envelope> > and .NET returns NULL to the client code. > Attaching Axis 1.1 RC2 WSDL and 1.2 Beta WSDL (almost identical, besides the > namespace desclaration). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
