Author: darran.lofthouse(a)jboss.com
Date: 2009-11-25 10:47:27 -0500 (Wed, 25 Nov 2009)
New Revision: 11156
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
Log:
[JBPAPP-3163] ClassCastException TextImpl cannot be cast to SOAPElementImpl in
CommonSOAPBinding.getParameterFromMessage.
Modified:
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
===================================================================
---
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2009-11-25
15:34:50 UTC (rev 11155)
+++
stack/native/branches/jbossws-native-3.1.2/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2009-11-25
15:47:27 UTC (rev 11156)
@@ -868,10 +868,19 @@
childElements = soapElement.getChildElements();
OperationMetaData opMetaData = paramMetaData.getOperationMetaData();
TypesMetaData typesMetaData =
opMetaData.getEndpointMetaData().getServiceMetaData().getTypesMetaData();
- if (childElements.hasNext() && opMetaData.getStyle() == Style.DOCUMENT)
+
+ SOAPElementImpl childElement = null;
+ while (childElement == null && childElements.hasNext())
{
- SOAPElementImpl childElement = (SOAPElementImpl)childElements.next();
+ Object current = childElements.next();
+ if (current instanceof SOAPElementImpl)
+ {
+ childElement = (SOAPElementImpl)current;
+ }
+ }
+ if (childElement != null && opMetaData.getStyle() == Style.DOCUMENT)
+ {
// The parameters are expected to be lazy
SOAPContentElement aux = (SOAPContentElement)childElement;
Name elName = aux.getElementName();
Show replies by date