AbstractBinding : maxOccurs unbounded on a MessagePart results in OutOfBounds
exception
---------------------------------------------------------------------------------------
Key: XFIRE-1121
URL: http://jira.codehaus.org/browse/XFIRE-1121
Project: XFire
Issue Type: Improvement
Components: Core
Affects Versions: 1.2.6
Environment: linux/solaris
Reporter: jonathan schang
Assignee: Dan Diephouse
Priority: Minor
Attachments: patch
when parsing the outputMessage for a wsdl operation where one of the
messageParts is defined as a maxOccurs="unbounded" element of a sequence, and
the return of the wsdl operation returns more than one of that element, xfire
throws an IndexOutOfBounds exception because the messageParts are retrieved as
elements from the list of messageParts rather than by QName. all i did was
change the operation from get(param) to use the getMessagePart(dr.getName())
method instead and everything's happy now.
attached is a patch for the AbstractBinding class
my wsdl message and return is:
message
+=======
<xs:element name="getMiscDataListResponse" type="getMiscDataListResponse" />
<xs:complexType name="getMiscDataListResponse">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return"
type="m33MiscData" />
<xs:element minOccurs="0" name="resultReport"
type="serviceResultReport" />
</xs:sequence>
</xs:complexType>
, getMiscDataListResponse is later referred to as the out message for the wsdl
operation
return
+===
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getMiscDataListResponse
xmlns:ns1="http://www.tradermediausa.com/services/MilesExtension/2008/05">
<return><businessSubsetID>0</businessSubsetID><dataType>INT</dataType><longName>Year</longName><miscDataID>10445</miscDataID><shortName>YR</shortName></return>
<return><businessSubsetID>0</businessSubsetID><dataType>TXT</dataType><longName>Make</longName><miscDataID>10446</miscDataID><shortName>MK</shortName></return>
<return><businessSubsetID>0</businessSubsetID><dataType>INT</dataType><longName>Length</longName><miscDataID>10447</miscDataID><shortName>LG</shortName></return>
<return><businessSubsetID>0</businessSubsetID><dataType>TXT</dataType><longName>Model</longName><miscDataID>10466</miscDataID><shortName>MD</shortName></return>
<return><businessSubsetID>0</businessSubsetID><dataType>INT</dataType><longName>Price</longName><miscDataID>10494</miscDataID><shortName>PR</shortName></return>
<!-- more nodes, but removed for brevity -->
<resultReport><passed>true</passed></resultReport></ns1:getMiscDataListResponse>
</soap:Body>
</soap:Envelope>"
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email