You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Garbacz Paweł <p....@teta.com.pl> on 2005/04/28 15:32:47 UTC

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

Re: Return string[][][]

Posted by Anne Thomas Manes <at...@gmail.com>.
This is not a valid XML Schema type: xsd:string[][][]

Anne
             

On 4/28/05, Garbacz Paweł <p....@teta.com.pl> wrote:
> 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 ==--
>