I have encountered this same situation with .NET. To fix the problem we had to make the array property a Java Bean Indexed Property. Your ArrayBean needs to have not only the simple getter and setter from simpleBeanArrayData but also a getter and setter by index, getSimpleBeanArrayData(int i) and setSimpleBeanArrayData(int i, SimpleBean bean).
This keeps Axis from generating the ArrayOf_ type (which is not valid based on the WS-I spec). -----Original Message----- From: WAJSBERG Julien RD-BIZZ [mailto:[EMAIL PROTECTED] Sent: Friday, November 19, 2004 1:16 AM To: [EMAIL PROTECTED] Subject: Bug about array of beans in 1.2RC2 (wrapped/literal) Hi, We have a strange bug in axis 1.2RC2, dealing with array of beans. There is a method whose signature is : public ArrayBean echoArrayBean(ArrayBean param); ArrayBean is defined like this : public class ArrayBean implements Serializable { private String stringData; private SimpleBean[] simpleBeanArrayData; ... accessors ... } And SimpleBean : public class SimpleBean implements Serializable { private String stringData; private int intData; ... accessors ... } The corresponding part of the WSDL generated by Axis follows (in different namespaces, but we don't care here) : <element name="echoArrayBean"> <complexType> <sequence> <element name="in0" type="tns1:ArrayBean"/> </sequence> </complexType> </element> <complexType name="ArrayOf_tns1_SimpleBean"> <sequence> <element maxOccurs="unbounded" minOccurs="0" name="item" type="tns1:SimpleBean"/> </sequence> </complexType> <complexType name="SimpleBean"> <sequence> <element name="intData" type="xsd:int"/> <element name="stringData" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="ArrayBean"> <sequence> <element name="simpleBeanArrayData" nillable="true" type="impl:ArrayOf_tns1_SimpleBean"/> <element name="stringData" nillable="true" type="xsd:string"/> </sequence> </complexType> What's important here is that "item" is correctly specified as an element of Array_Of_tns1_SimpleBean. When I try to invoke this operation with a Weblogic client, I get the following exception : java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: org.xml.sax.SAXException: Invalid element in com.francetelecom.clara.ws2.bean.SimpleBean - item The corresponding part in the soap message is : <n1:echoArrayBean><n1:in0><n2:simpleBeanArrayData xsi:type="n1:ArrayOf_tns1_SimpleBean"> <n1:item xsi:type="n2:SimpleBean"><n2:intData>-123456</n2:intData><n2:stringData>ces données sontcomplexes [EMAIL PROTECTED]</n2:stringData></n1:item> <n1:item xsi:type="n2:SimpleBean"><n2:intData>-123456</n2:intData><n2:stringData>ces données sontcomplexes [EMAIL PROTECTED]</n2:stringData></n1:item> </n2:simpleBeanArrayData><n3:stringData>data</n3:stringData></n1:in0></n1:ec hoArrayBean> This message seems to be correct, according to the WSDL. Yet, Axis doesn't like it :/ Note : we just tried with an Axis client: same behaviour. -- Julien Wajsberg