I have a method in my WS that takes an Integer[] array
as one of its arguments. When I generate client side
classes in Axis 1.1RC2 (actually JBuilder8 does it for
me using WSDL2Java), that Integer[] has been converted
to an int[]. I found a bug report on this
(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17554)
where someone says this won't and can't be fixed. I
might be able to accept that if it wasn't for the fact
that I get different behaviour depending on what Axis
version I use. When using the Axis version included in
JBoss 3.0.6 (I think it's 1.0 something), the
Integer[] type is preserved on the client.

This is part of the WSDL that is generated in JBoss
3.2.1 (which I'm pretty sure uses Axis 1.1RC2). This
shows up as an int[] on the client:

<complexType name="ArrayOf_xsd_int">
  <complexContent>
    <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:int[]" /> 
    </restriction>
  </complexContent>
</complexType>

And this WSDL is from JBoss 3.0.6, which correctly
produces Integer[] on the client side:

<complexType name="ArrayOf_xsd_int">
  <complexContent>
    <restriction base="SOAP-ENC:Array">
      <attribute ref="SOAP-ENC:arrayType"
wsdl:arrayType="SOAP-ENC:int[]" /> 
    </restriction>
  </complexContent>
</complexType>


Can anyone shed some light on this issue? Should I
stop using Integer[] and similar types, or is there
another way of preserving that type on the client?

Thanks in advance,
Mikael

_____________________________________________________
G� f�re i k�n och f� din sajt v�rderad p� nolltid med Yahoo! Express
Se mer p�: http://se.docs.yahoo.com/info/express/help/index.html

Reply via email to