[
https://issues.apache.org/jira/browse/AXIS2-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12542785
]
Boris Georgiev commented on AXIS2-3341:
---------------------------------------
I inspected the Axis2 1.3 source code, and I found that this is a strictly
JAX-WS problem.
All the jax-ws method marshallers (the one to inherit from MethodMarshaller)
make the assumption that the webservice will return a single object (method
marshalResponse). All of them create a single Element object from the return
result (returnObject parameter of the method). The Element contains an array
(or list) and that how it gets passed to the method
MethodMarshallerUtils.toMessage. It retrieves a single JAXBElement, containing
the array, which ultimately returns all the array element listed in a single
XML elements.
I will try to become a contributor and find what is the best way to fix the
issue.
> Marshaling arrays and lists seems to be wrong
> ---------------------------------------------
>
> Key: AXIS2-3341
> URL: https://issues.apache.org/jira/browse/AXIS2-3341
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: databinding
> Affects Versions: 1.3, 1.2
> Environment: JDK 1.5 and Geronimo 1.1 , also Websphere 6.1
> Reporter: Boris Georgiev
> Attachments: jaxws-axis2.zip, return_messages.txt
>
>
> The problem seems to be about incorrect marshaling of arrays and lists. Looks
> like, for each element in the array is called the method toString(), then all
> of the array elements are separated by spaces and finally all the result is
> placed in a single xml element.
> As I see, according to the schema in the WSDL, every element of the array
> needs to be in its own element. Then, calling toString() may work for a
> simple type, it is completely meaningless for a complex types, as it is
> usually the string representation of the object's handle.
>
> I get the same result with or without response wrapper objects. I observe it
> for the return types, I have not tested it for arrays in the input
> paparameters.
> Can I use some other databinding mechanism, in order to avoid this and how?
> To demonstarate it, I have created a simple web service project. The service
> name is "GenericService" there are four methods, returning: array of string,
> array of a complex type, list of string and a list of a complex type.
> The attached file return_messages.txt contains the messages: as they are
> observed and as they need to be for arrays. For lists, the messages are the
> same.
> Te attached file jaxw-axis2.zip contains the sample geronimo/eclipse project,
> without the axis2 libraries.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]