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] [Created] (CXF-6326) Unable to add custom property named "SOAPAction" to JMS header when using SOAP over JMS
Date Wed, 01 Apr 2015 04:35:52 GMT
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/%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