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

Reply via email to