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