Author: darran.lofthouse(a)jboss.com
Date: 2009-11-25 10:34:50 -0500 (Wed, 25 Nov 2009)
New Revision: 11155
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
Log:
[JBWS-2841] ClassCastException TextImpl cannot be cast to SOAPElementImpl in
CommonSOAPBinding.getParameterFromMessage.
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java
===================================================================
---
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2009-11-25
07:49:16 UTC (rev 11154)
+++
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/CommonSOAPBinding.java 2009-11-25
15:34:50 UTC (rev 11155)
@@ -891,10 +891,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