Should be fixed in latest CVS. -- dims
On Thu, 2 Dec 2004 16:11:13 -0800, Simon Fell <[EMAIL PROTECTED]> wrote: > Yes, .NET doesn't support the soap encoding types. This seems to be a > "feature" of axis 1.2, there was talk on the axis-dev list of changing > this back to match axis 1.1, but I don't know what the current status of > that is. > > Cheers > Simon > > > > > -----Original Message----- > > From: ANDREW MICONE [mailto:[EMAIL PROTECTED] > > Sent: Thursday, December 02, 2004 4:06 PM > > To: [EMAIL PROTECTED] > > Subject: PS -- oops WSDL2Java > > > > Sorry, misleading header, I was talking about WSDL2Java. > > Also, I noticed that the other server returns type as > > "xsd:string[8]" and Axis returns it as "soapenc:string[8]". > > Is that related? Please help. -- Andy > > > > >>> [EMAIL PROTECTED] 12/02/04 03:23PM >>> > > I'm using WSDL2Java to create a service consumed by a .NET > > client I can't change for a WSDL we're mandated to use. It > > has a service called "GetService" defined as follows in the > > WSDL (details omitted): > > > > <complexType name="ArrayOfstring"> > > <complexContent> > > <restriction base="SOAP-ENC:Array"> > > <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> > > </restriction> > > </complexContent> > > </complexType> > > <message name="GetServicesResponse"> > > <part name="return" type="typens:ArrayOfstring"/> > > </message> <operation name="GetServices" > > parameterOrder="securityToken serviceType"> > > <documentation>Query services offered by the node</documentation> > > <input message="tns:GetServices"/> > > <output message="tns:GetServicesResponse"/> > > </operation> > > > > I'm just using the binding implementation stub to craft a > > response. The response from the Axis client is as follows: > > > > <soapenv:Envelope> > > <soapenv:Body> > > <getServicesResponse > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > > <return soapenc:arrayType="soapenc:string[9]" > > xsi:type="soapenc:Array"> <item > > xsi:type="soapenc:string">PNWWQX.GetProjects</item> > > ... > > > > Which the .NET client says is an illegal response. ("There is > > an error in the XML document (1,384)"). A response from > > another server which it likes is: > > > > <soapenv:Envelope> > > <soapenv:Body> > > <ns1:GetServicesResponse > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > > <return xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[8]"> > > <item>GetFacilityByName</item> > > > > There are only three differences between the messages, which > > I rank in decreasing likelihood they are causing the problem: > > > > 1) That the GetServicesResponse operation defined in the WSDL > > is sent back as getServicesResponse with an initial lower-case letter. > > > > 2) That the response in the second is in a user namespace. > > > > 3) The additional type information provided in the first response. > > > > I'm thinking the most likely reason is the initial lower-case > > letter. How can I fix this so the response in the first > > message looks like the second message using WSDL2Java (i.e. > > without writing my own customized deserializer for the array). -- Andy > > > > > > > > > > > -- Davanum Srinivas - http://webservices.apache.org/~dims/