Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.3 Final
-
None
-
Debian GNU/Linux, G++ 3.4.2
Description
I created a small webservice application with multiple arrays, here
is the fragment of the wsdl file :
<xsd:complexType name="TestMsg">
<xsd:sequence>
<xsd:element type="xsd:int" minOccurs="1"
maxOccurs="unbounded" name="docs"/>
<xsd:element type="xsd:string" minOccurs="1"
maxOccurs="unbounded" name="tags"/>
</xsd:sequence>
</xsd:complexType>
and here was a sample of the client query :
<TestMsg xsi:type="ns2:TestMsg"
xmlns:ns2="http://localhost:4242/axis/RaresText/xsd">
<docsArray xmlns:enc="http://www.w3.org/2001/06/soap-encoding"
enc:arrayType="xsd:int[5]">
<item>15</item>
<item>20</item>
<item>25</item>
<item>32</item>
<item>39</item>
</docsArray>
<tagsArray xmlns:enc="http://www.w3.org/2001/06/soap-encoding"
ncc:arrayType="xsd:string[3]">
<item>NomCommun</item>
<item>NomPropre</item>
<item>Verbe</item>
</tagsArray>
</TestMsg>
Using axis-c 1.3, it could not get these two vectors, I could get only
one of them.
After some investigation, I found that SoapDeSerializer::getBasicArray() and SoapDeSerializer::getCmplxArray() do not skip the next node. Patches for these two
bugs are attached.
Best Regards.