cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Le Van Lang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-6326) Unable to add custom property named "SOAPAction" to JMS header when using SOAP over JMS
Date Mon, 06 Apr 2015 09:32:12 GMT

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

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

Hi Christian,

This issue was fixed by the built-in org.apache.cxf.binding.soap.interceptor.TibcoSoapActionInterceptor
class. It's caused by using non case sensitive TreeMap to store SOAPAction in PROTOCOL_HEADERS
in CXF, therefore I can not add "SoapAction" for TIBCO compliant.

However, since TIBCO does not compliant with the standard, there's need to add some header
properties to incomming SoapMessae to pass CXF interceptor check.

Thanks for your kindly support.
Cheers,
Lang

> 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_FaX2@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)

Mime
View raw message