[
https://issues.apache.org/jira/browse/CXF-6732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15651176#comment-15651176
]
John Poth commented on CXF-6732:
--------------------------------
Hi [~dtax],
I've push a fix in [camel-cxf|https://github.com/apache/camel/pull/1254] that
fixes this. To workaround this issue you can register your own camel-cxf
binding that basically mimics the fix:
{code}
package foo.bar;
import java.util.Map;
import org.apache.camel.Exchange;
import org.apache.camel.component.cxf.CxfBinding;
import org.apache.camel.component.cxf.DefaultCxfBinding;
import org.apache.cxf.binding.soap.SoapBindingConstants;
public class SoapHeaderCxfBinding extends DefaultCxfBinding{
@Override
protected void propagateHeadersFromCamelToCxf(Exchange camelExchange,
Map<String, Object>
camelHeaders,
org.apache.cxf.message.Exchange cxfExchange,
Map<String, Object>
cxfContext) {
super.propagateHeadersFromCamelToCxf(camelExchange,camelHeaders,cxfExchange,cxfContext);
cxfContext.put(SoapBindingConstants.SOAP_ACTION,camelHeaders.get(SoapBindingConstants.SOAP_ACTION));
}
}
{code}
Cheers,
John.
> Allow SOAPAction to be overwritten via RequestContext property
> --------------------------------------------------------------
>
> Key: CXF-6732
> URL: https://issues.apache.org/jira/browse/CXF-6732
> Project: CXF
> Issue Type: Improvement
> Affects Versions: 2.7.18, 3.2.0
> Reporter: Tomohisa Igarashi
> Assignee: Freeman Fang
> Fix For: 3.1.5, 3.0.8, 3.2.0
>
>
> SoapPreProtocolOutInterceptor sets SOAPAction into PROTOCOL_HEADERS only when
> it's not yet set here:
> https://fisheye6.atlassian.com/browse/cxf/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapPreProtocolOutInterceptor.java?hb=true#to121
> If user reuses the client like Dispatch instance, the PROTOCOL_HEADERS is
> carried over multiple invocations including SOAPAction specified for the
> first invocation, thus the "javax.xml.ws.soap.http.soapaction.uri" property
> is ignored afterward. IMO the "javax.xml.ws.soap.http.soapaction.uri"
> standard property should precede existing SOAPAction in PROTOCOL_HEADERS.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)