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 ==--

Reply via email to