[ 
https://issues.apache.org/jira/browse/CXF-6326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14390646#comment-14390646
 ] 

Le Van Lang commented on CXF-6326:
----------------------------------

Here is the demo project in netbeans. Please help to take a look about it.


> 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
>              Labels: JMS, SOAPAction, TIBCO
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> This issue was mentioned by this link: 
> http://mail-archives.apache.org/mod_mbox/cxf-users/201010.mbox/%3CAANLkTi=nPFy39=sjr-nlpkjwpxny2vhyhe4ol8t_f...@mail.gmail.com%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)

Reply via email to