Hi everyone,
I had this stupid situation. I wrote a WebService exhibiting the web method
String[][][] getUpdates(). Until it had the definition String[][] getUpdates()
it worked fine. I was wondering if there is a problem with Axis servlet or
something, because when I use my web method in C# project made in VS.NET, it
builds a wrapper method as string[] getUpdates() instead of string[][][]
getUpdates().
Type definition in wsdl generated by Axis is:
<complexType name="ArrayOfArrayOfArrayOf_xsd_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:string[][][]"/>
</restriction>
</complexContent>
</complexType>
The relevant web method written in C# produces quite different wsdl:
<s:complexType name="ArrayOfArrayOfArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="ArrayOfArrayOfString" nillable="true" type="tns:ArrayOfArrayOfString"/>
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="ArrayOfString" nillable="true" type="tns:ArrayOfString"/>
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfString">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="string"
nillable="true" type="s:string"/>
</s:sequence>
</s:complexType>
One can see the difference - the first type is written as simple array type,
the second one uses simple type made more complex (as a collection). Is it OK?
Maybe Axis does something wrong?
--
Best regards,
Paweł Garbacz (Web Technology Team)
TETA S.A. --== www.teta.com.pl ==--