Ok, I've gone through the Axis website which it appears the wstools is based on. Based
on the documentation there, there is no 'proper' way to do collections, it's
really up to the implementer..
anonymous wrote :
| Java Collections
| Some of the Collection classes, such as Hashtable, do have serializers, but there is
no formal interoperability with other SOAP implementations, and nothing in the SOAP
specifications which covers complex objects. The most reliable way to send aggregate
objects is to use arrays. In particular, .NET cannot handle them, though many Java SOAP
implementations can marshall and unmarshall hash tables.
|
Thus, I changed my method signature, and instead of returning Collection I changed it to
return News[]. An array.
This produced much better results in the generated WSDL.
| <complexType name="News">
| - <sequence>
| <element name="author" nillable="true"
type="string" />
| <element name="body" nillable="true" type="string"
/>
| <element name="description" nillable="true"
type="string" />
| <element name="id" nillable="true" type="long"
/>
| <element name="title" nillable="true" type="string"
/>
| </sequence>
| </complexType>
| - <complexType name="News.Array">
| - <sequence>
| <element maxOccurs="unbounded" minOccurs="0"
name="value" nillable="true" type="ns10:News" />
| </sequence>
| </complexType>
|
Very much in order with what I was looking for.
Bottom Line
Use arrays instead of gerisized Collections.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996569#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...