Author: objectiser
Date: 2010-02-10 13:29:21 -0500 (Wed, 10 Feb 2010)
New Revision: 494
Modified:
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELHelloWorldHeaderODETestCase.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleCorrelationTestCase.java
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleInvokeTestCase.java
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java
Log:
Fixed issue where soap header returns text elements instead of just soap elements. Also
updated some integration tests based on minor differences in the message style.
Modified:
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELHelloWorldHeaderODETestCase.java
===================================================================
---
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELHelloWorldHeaderODETestCase.java 2010-02-10
16:06:07 UTC (rev 493)
+++
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELHelloWorldHeaderODETestCase.java 2010-02-10
18:29:21 UTC (rev 494)
@@ -46,6 +46,13 @@
String result=sendSOAPMessage("hello_request1.xml",
"http://localhost:8080/Quickstart_bpel_hello_world_header_odeWS");
+ // If testing against cxf, then result is presented slightly differently
+ if (result.indexOf("SOAP-ENV") != -1) {
+ result = result.replaceAll("SOAP-ENV", "env");
+ result = result.replaceAll(" xmlns=\"\"","");
+ result = result.replaceAll("\"","'");
+ }
+
// TODO: Commented out until fixed
assertMessageFromFile(result, "hello_response1.xml");
}
Modified:
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleCorrelationTestCase.java
===================================================================
---
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleCorrelationTestCase.java 2010-02-10
16:06:07 UTC (rev 493)
+++
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleCorrelationTestCase.java 2010-02-10
18:29:21 UTC (rev 494)
@@ -46,11 +46,27 @@
String result1=sendSOAPMessage("hello_request1.xml",
"http://localhost:8080/Quickstart_bpel_simple_correlationWS");
+ // If testing against cxf, then result is presented slightly differently
+ if (result1.indexOf("SOAP-ENV") != -1) {
+ result1 = result1.replaceAll("SOAP-ENV", "env");
+ result1 = result1.replaceAll(" xmlns=\"\"","");
+ result1 = result1.replaceAll("\"","'");
+ result1 = result1.replaceAll("<env:Header
/>","<env:Header></env:Header>");
+ }
+
assertMessageFromFile(result1, "hello_response1.xml");
String result2=sendSOAPMessage("goodbye_request1.xml",
"http://localhost:8080/Quickstart_bpel_simple_correlationWS");
+ // If testing against cxf, then result is presented slightly differently
+ if (result2.indexOf("SOAP-ENV") != -1) {
+ result2 = result2.replaceAll("SOAP-ENV", "env");
+ result2 = result2.replaceAll(" xmlns=\"\"","");
+ result2 = result2.replaceAll("\"","'");
+ result2 = result2.replaceAll("<env:Header
/>","<env:Header></env:Header>");
+ }
+
assertMessageFromFile(result2, "goodbye_response1.xml");
}
}
Modified:
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleInvokeTestCase.java
===================================================================
---
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleInvokeTestCase.java 2010-02-10
16:06:07 UTC (rev 493)
+++
trunk/integration-tests/src/test/java/org/jboss/soa/bpel/tests/samples/QuickstartBPELSimpleInvokeTestCase.java 2010-02-10
18:29:21 UTC (rev 494)
@@ -46,6 +46,14 @@
String result=sendSOAPMessage("hello_request1.xml",
"http://localhost:8080/Quickstart_bpel_simple_invokeWS");
+ // If testing against cxf, then result is presented slightly differently
+ if (result.indexOf("SOAP-ENV") != -1) {
+ result = result.replaceAll("SOAP-ENV", "env");
+ result = result.replaceAll(" xmlns=\"\"","");
+ result = result.replaceAll("\"","'");
+ result = result.replaceAll("<env:Header
/>","<env:Header></env:Header>");
+ }
+
assertMessageFromFile(result, "hello_response1.xml");
}
}
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java
===================================================================
---
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java 2010-02-10
16:06:07 UTC (rev 493)
+++
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/SOAPMessageAdapter.java 2010-02-10
18:29:21 UTC (rev 494)
@@ -336,17 +336,23 @@
if (soapHeader != null) {
Iterator headersIter = soapHeader.getChildElements();
while (headersIter.hasNext()) {
- javax.xml.soap.SOAPHeaderElement headerElem = (javax.xml.soap.SOAPHeaderElement)
headersIter.next();
- String partName = findHeaderPartName(headerDefs, headerElem.getElementQName());
- Document doc = DOMUtils.newDocument();
+ Object obj=headersIter.next();
- // RIFTSAW-74 - slight modification to avoid jbossws exception when
reconstructing the
- // SOAP message.
-
- //Element destPart = doc.createElementNS(null, partName);
- //destPart.appendChild(doc.importNode(headerElem, true));
- //odeMessage.setHeaderPart(partName, destPart);
- odeMessage.setHeaderPart(partName, (Element)doc.importNode(headerElem, true));
+ // Should be SOAPHeaderElement, but CXF also returns javax.xml.soap.Text
+ // objects aswell
+ if (obj instanceof javax.xml.soap.SOAPHeaderElement) {
+ javax.xml.soap.SOAPHeaderElement headerElem =
(javax.xml.soap.SOAPHeaderElement) obj;
+ String partName = findHeaderPartName(headerDefs,
headerElem.getElementQName());
+ Document doc = DOMUtils.newDocument();
+
+ // RIFTSAW-74 - slight modification to avoid jbossws exception when
reconstructing the
+ // SOAP message.
+
+ //Element destPart = doc.createElementNS(null, partName);
+ //destPart.appendChild(doc.importNode(headerElem, true));
+ //odeMessage.setHeaderPart(partName, destPart);
+ odeMessage.setHeaderPart(partName, (Element)doc.importNode(headerElem, true));
+ }
}
}
}