Le Van Lang created CXF-6326:
--------------------------------
Summary: Unable to add custom property named "SOAPAction" to JMS
header when using SOAP over JMS
Key: CXF-6326
URL: https://issues.apache.org/jira/browse/CXF-6326
Project: CXF
Issue Type: Test
Components: Core, JMS, Transports
Affects Versions: 3.0.4
Environment: Sun JDK 1.7_update 26
Server: TIBCO BW 5.12, TIBCO EMS 8.1
Client: CXF 3.0.4
Reporter: Le Van Lang
This issue was mentioned by this link:
http://mail-archives.apache.org/mod_mbox/cxf-users/201010.mbox/%[email protected]%3E
However, when using CXF 3.0.4 I was unable to add "SoapAction" custom property
to PROPOTOL_HEADERS, although different name was added ok (eg: "SoapAction2").
Therefore, TIBCO BusinessWork can not activate server thread to process service
request.
This is my custom Interceptor to add custom header:
// The class
public class TibcoSoapActionInterceptor extends AbstractSoapInterceptor {
private static final String SOAPACTION_TIBCO = "SoapAction";
public TibcoSoapActionInterceptor() {
super(Phase.PREPARE_SEND);
}
@Override
public void handleMessage(SoapMessage soapMessage) throws Fault {
Map<String, Object> headers = (Map<String, Object>)
soapMessage.get(Message.PROTOCOL_HEADERS);
if (headers != null &&
headers.containsKey(SoapBindingConstants.SOAP_ACTION)) {
// this custom property was replaced by "SOAPJMS_soapAction"
standard name
headers.put(SOAPACTION_TIBCO,
headers.get(SoapBindingConstants.SOAP_ACTION));
// This header property was added ok
headers.put(SOAPACTION_TIBCO + "2",
headers.get(SoapBindingConstants.SOAP_ACTION));
}
}
}
// The code to add interceptor
// Add interceptors
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.getOutInterceptors().add(new TibcoSoapActionInterceptor());
// create client proxy
CalculatorPortType port = (CalculatorPortType) factory.create();
Please help to check it out as are there another way to add "SOAPAction" custom
property to JMS header when using SOAP over JMS (i know TIBCO BW does not fully
compatible with SOAP JMS standard but I'm using it in production) ?
Many thanks!!!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)