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