Author: objectiser
Date: 2011-04-04 09:53:06 -0400 (Mon, 04 Apr 2011)
New Revision: 1349
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java
Log:
RIFTSAW-360 - soapaction was not being sent for one-way invocations.
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java
===================================================================
---
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java 2011-04-04
02:45:16 UTC (rev 1348)
+++
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/ws/WebServiceClient.java 2011-04-04
13:53:06 UTC (rev 1349)
@@ -366,7 +366,7 @@
if(log.isDebugEnabled())
log.debug( "ODE outbound message: \n"
+DOMWriter.printNode(mex.getRequest().getMessage(), true) );
- messageAdapter.createSoapRequest(soapRequestMessage,
+ String soapAction=messageAdapter.createSoapRequest(soapRequestMessage,
new ODEMessageAdapter(mex.getRequest()), mex.getOperation());
if (log.isDebugEnabled()) {
@@ -398,7 +398,18 @@
}
// The actual WS invocation
- Dispatch proxy = getDispatcher(epr, port);
+ Dispatch proxy = getDispatcher(epr, port);
+
+ // Set SOAPAction
+ if (soapAction != null) {
+ // Setting soap action using both approaches, as CXF needs one and
JBossWS-Native the other
+ proxy.getRequestContext().put(Dispatch.SOAPACTION_URI_PROPERTY,
soapAction);
+ MimeHeaders hd = soapRequestMessage.getMimeHeaders();
+ hd.addHeader("SOAPAction", soapAction);
+ } else if (log.isDebugEnabled()) {
+ log.debug("SOAPAction not set");
+ }
+
proxy.invokeOneWay(soapRequestMessage);
}
Show replies by date