Hi Daniel
Thanks! Currently the web service doesn't have any performance problems
so I leave it at that.
Regards
Arthur
Daniel Kulp wrote:
If the element is both minOccurs="0" and nillable=true, JAXB usually will
generate the property as a JAXBElement<Type> instead of just Type. In that
case, if you specify the element, but it's value is null, you get the
nil=true. If you leave the full property as null, it should be skipped.
Dan
On Wednesday, April 18, 2012 01:08:15 PM Arthur van Dorp wrote:
Hello all
I've figured out what the problem with the AXIS2 server is: The service
isn't using proper beans. There are two pairs of getters/setters which
map to the same Java field. So you have my AXIS2 client send
<el1>x<el1>
and my CXF client send
<el1>x<el1>
<el2 xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
The second line overwriting the field both setE1 and setE2 map to on
deserialization...
So it's neither an AXIS2 nor a CFX problem but a sloppily programmed
service...
I'd still be interested in a way to remove all those nil-elements as the
requests would be much more readable.
Kind regards
Arthur
Datum: Wed, 18 Apr 2012 11:37:35 +0200
Von: "Arthur van Dorp"<[email protected]>
Betreff: How to not add nil-elements if minOccurs="0"
Hi everybody
Using CXF 2.5.2 with JAXB for generating a client for an AXIS2
webservice:
The wsdl has many elements defined with minOccurs="0" and
nillable="true". CXF sends requests for such elements like this:
<ps1:myElement xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
Completely reasonable. Strangely enough the webservice doesn't like
that.
When I remove all nil elements (they have minOccurs="0" after all) all
works well. Is there a way to force CXF/JAXB to not send elements with
minOccurs="0" which would otherwise be sent as nil-elements? This would
also save quite a bit on messages size. I've found many posts
concerning nil-elements and minOccurs, but none describing this
specific problem.
Thanks and regards
Arthur