Hi,

OK. I know what's wrong. According to 
http://ws.apache.org/axis/java/requirements.html multidimensional arrays are 
not supported. Unfortunately. And the String[][] two dimensional array I 
mentioned in my previous post was not also correct - it was replaced by simple 
1D array of Strings.

Therefore another question I could ask: does anyone know, when the 
multidimensional array support will be included in Axis?

--
Best regards,

Paweł Garbacz (Web Technology Team)
TETA S.A.         --== www.teta.com.pl ==-- 


-----Original Message-----
From: Garbacz Paweł 
Sent: Thursday, April 28, 2005 3:33 PM
To: [email protected]
Subject: Return string[][][]

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