Hi,
I am trying to configure JiBX to allow a repeating XML element to be
unmarshalled into a single collection on a Java object. Currently, I
am coming across the following exception:
11:51:25,277 ERROR [STDERR]
org.springframework.oxm.jibx.JibxUnmarshallingFailureException: JiBX
unmarshalling exception: Expected
"{http://service.webservice.company.com}code" start tag, found
"{http://service.webservice.company.com}numberList" start tag (line 4,
col 10); nested exception is org.jibx.runtime.JiBXException: Expected
"{http://service.webservice.company.com}code" start tag, found
"{http://service.webservice.compnay.com}numberList" start tag (line 4,
col 10)
Below is the JiBX binding file as it is currently defined:
<binding direction="input">
<namespace uri="http://service.webservice.company.com"
default="elements" />
<mapping name="retrieveItemList"
class="com.company.ItemServiceContract">
<value name="customerId" field="customerId" nillable="true" />
<structure allow-repeats="true" ordered="false">
<value name="numberList" set-method="addNumber"
nillable="true"
ordered="false" />
</structure>
<value name="code" field="code" nillable="true" />
<value name="year" field="year" />
</mapping>
</binding>
Here's the schema for the request XML:
<soapenv:Envelope xmlns:q0="http://service.webservice.company.com"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<q0:retrieveItemList>
<q0:customerId xsi:nil="true"/>
<q0:numberList>5697412</q0:numberList>
<q0:numberList>7825272</q0:numberList>
<q0:code>19</q0:code>
<q0:year>2009</q0:year>
</q0:retrieveItemList>
</soapenv:Body>
</soapenv:Envelope>
I am using JiBX version 1.2.1. If I include a single numberList
element in the request, the request is processed successfully. As
soon as I add the second one, that's when I get the exception. Does
anyone know how to do what I am trying to do? I thought that the
allow-repeats would do the trick, but it isn't. I haven't been able
to figure a way to do this. I tried using a JiBX collection, but I
didn't know how to take the multiple repeating XML elements and
consolidate them into a single Java collection.
I appreciate your help with this.
Keith
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables
unlimited royalty-free distribution of the report engine
for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
jibx-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jibx-users