[ http://issues.apache.org/jira/browse/AXIS-1926?page=comments#action_62777 ] Tim Kagle commented on AXIS-1926: ---------------------------------
Note that I would like to be able to pass as the "value" in the NamedValue bean all sorts of serializable types and arrays of these serializabale types which are not known until run-time what types they are. I'm not sure if this is possible, defining ArrayOfXxxx for every possible Xxxx (e.g. String, Long, NamedValue, OtherBeans, etc.) does not seem like a good solution. > wrapped document/literal generates wrong SOAP message for arrays within arrays > ------------------------------------------------------------------------------ > > Key: AXIS-1926 > URL: http://issues.apache.org/jira/browse/AXIS-1926 > Project: Axis > Type: Bug > Environment: Linux, Axis 1.2RC3 > Reporter: Tim Kagle > Priority: Blocker > Attachments: RemoteLoginManager.wsdl > > First of all, this has been discussed on the users mailing list, please refer > to this thread as it may have more up-to-date information: > http://article.gmane.org/gmane.comp.apache.webservices.axis.user/29082 > I have a data type defined as: > <complexType name="NamedValue"> > <sequence> > <element name="name" nillable="true" type="xsd:string" /> > <element name="value" nillable="true" type="xsd:anyType" /> > </sequence> > </complexType> > I need the value to be xsd:anyType so that I can send arrays of NamedValue > with various types for value. > On the server side I have a method defined as: > NamedValue[] login(String username, String password, NamedValue[] options) > Which in the WSDL the request looks like this: > - <element name="login"> > - <complexType> > - <sequence> > <element name="username" type="xsd:string" /> > <element name="password" type="xsd:string" /> > <element name="options" type="impl:NamedValue" maxOccurs="unbounded" > /> > </sequence> > </complexType> > </element> > And the response like this: > - <element name="loginResponse"> > - <complexType> > - <sequence> > <element name="loginReturn" type="impl:NamedValue" > maxOccurs="unbounded" /> > </sequence> > </complexType> > </element> > If I create on the client side an options array that looks like this: > NamedValue[] options = new NamedValue[] > { > new NamedValue("dummy1", "dummy_val1"), > new NamedValue("dummy2", > new NamedValue[] > { > new NamedValue("dummy2-1", "val2-1"), > new NamedValue("dummy2-2", new Integer(314)) > }) > }; > Note the array inside the array above. > A request to the server from an Axis client (latest CVS version of 1.2RC3) > looks like this: > <login xmlns="http://some/namespace"> > <username>tim</username> > <password>tim</password> > <options> > <name>dummy1</name> > <value xsi:type="xsd:string">dummy_val1</value> > </options> > <options> > <name>dummy2</name> > <value xsi:type="ns1:NamedValue" xmlns:ns1="http://some/namespace"> > <name>dummy2-1</name> > <value xsi:type="xsd:string">val2-1</value> > </value> > <value xsi:type="ns2:NamedValue" xmlns:ns2="http://some/namespace"> > <name>dummy2-2</name> > <value xsi:type="xsd:int">314</value> > </value> > </options> > </login> > The encoding of the array inside the array does not seem right to me, the > server ends up with a NamedValue value for "dummy2" instead of a NamedValue[]. > From Anne Thomas Manes: > You're right. The array within the array should be mapped to this: > <login xmlns="http://some/namespace"> > <username>tim</username> > <password>tim</password> > <options> > <name>dummy1</name> > <value xsi:type="xsd:string">dummy_val1</value> > </options> > <options> > <name>dummy2</name> > <value xsi:type="ns1:NamedValue" xmlns:ns1="http://some/namespace"> > <name>dummy2-1</name> > <value xsi:type="xsd:string">val2-1</value> > <name>dummy2-2</name> > <value xsi:type="xsd:int">314</value> > </value> > </options> > </login> > I suggest you file a bug report, because Axis is not generating the > right message structure per the WSDL. > Anne -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira
