Adrian, 

Thanks for your response.  I have created Jira entry AXISCPP-952

https://issues.apache.org/jira/browse/AXISCPP-951

Let me know if you think anything else is needed.

Thanks again,

-Jonathan Beakley
[EMAIL PROTECTED]

> -----Original Message-----
> From: Adrian Dick [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, March 21, 2006 9:24 AM
> To: Apache AXIS C User List
> Subject: Re: Java client array encoding causes troubles for AxisCPP
> service
> 
> Hi,
> 
> Handling of arrays for rpc/encoded web services is a suprisingly
complex
> problem.  The SOAP spec provides several different, but apparently
> equivalent, techniques.  One of which is that employed by Axis C++
> serialiation, another of which is that used by Axis Java.
> 
> Regrettably, it would appear the AxisCPP deserializer doesn't handle
all
> the variations.
> 
> Can you raise a Jira issue for this, including the SOAP messages you
give
> below.
> 
> Regards,
> Adrian
> _______________________________________
> Adrian Dick ([EMAIL PROTECTED])
> 
> 
> "Jonathan G Beakley \(beakley\)" <[EMAIL PROTECTED]> wrote on
20/03/2006
> 15:54:59:
> 
> > I have noticed an inconsistency in the encoding of arrays by Axis
Java
> > clients (created using WSDL2Java) and AxisCPP clients (created using
> > WSDL2Ws), and I was hoping someone could give me some advice.
> >
> > In short, I have the following RPC/encoded WSDL snippet that defines
the
> > array:
> >
> >   <types>
> >     <schema xmlns="http://www.w3.org/2001/XMLSchema";
> > targetNamespace="http://localhost/axis/csaapi/xsd";>
> >       <import namespace =
"http://schemas.xmlsoap.org/soap/encoding/"/>
> >       <complexType name="ArrayOfInt">
> >         <complexContent>
> >             <restriction base="soapenc:Array">
> >               <attribute ref="soapenc:arrayType"
> > wsdl:arrayType="int[]"/>
> >             </restriction>
> >         </complexContent>
> >       </complexType>
> >     </schema>
> >   </types>
> >
> > When I create and run the AxisCPP client, it generates XML that uses
> > "<item>" to denote the elements in the array:
> >
> >   <SOAP-ENV:Body>
> >     <ns1:GetNamesByIds
> >         xmlns:ns1="http://localhost/axis/csaapi";>
> >       <objType xsi:type="xsd:int">0</objType>
> >       <idsArray
> >           xmlns:enc="http://www.w3.org/2001/06/soap-encoding";
> >           enc:arrayType="xsd:int[9]">
> >         <item>1</item>
> >         <item>2</item>
> >         <item>3</item>
> >       </idsArray>
> >     </ns1:GetNamesByIds>
> >   </SOAP-ENV:Body>
> >
> > My AxisCPP service handles this just fine.
> >
> > BUT, my Java client generates XML that doesn't use the "<item>"
> > construct, and it causes my CPP service to fail to parse the data.
> > Here's the Java XML:
> >
> >   <soapenv:Body>
> >     <ns1:GetNamesByIds
> >
> > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> >         xmlns:ns1="http://localhost/axis/csaapi";>
> >       <objType xsi:type="xsd:int">0</objType>
> >       <ids soapenc:arrayType="xsd:int[9]"
> >             xsi:type="soapenc:Array"
> >
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
> >         <ids xsi:type="xsd:int">1</ids>
> >         <ids xsi:type="xsd:int">2</ids>
> >         <ids xsi:type="xsd:int">3</ids>
> >       </ids>
> >     </ns1:GetNamesByIds>
> >   </soapenv:Body>
> >
> > Could someone give me advice on the best way to handle this?  Note
that
> > I've already turned the MULTIREF option off to fix a different set
of
> > problems.  I'd prefer to keep the RPC/Encoded style if at all
possible.
> >
> > Thank you very much in advance!
> >
> > -Jonathan Beakley
> > [EMAIL PROTECTED]

Reply via email to