You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Joe Luo (JIRA)" <ji...@apache.org> on 2014/05/28 16:09:02 UTC

[jira] [Commented] (CAMEL-7471) SOAP with attachments not mapped correctly from CXF to Camel for CXF_MESSAGE

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

Joe Luo commented on CAMEL-7471:
--------------------------------

Here I attached a new CXF mtom junit test CxfMtomConsumerCxfMessageModeTest here to demonstrate the problem. Here is the code snippet:

{code}
        public void configure() {
                from(MTOM_ENDPOINT_URI).process(new Processor() {
                    @SuppressWarnings("unchecked")
                    public void process(final Exchange exchange) throws Exception {
                        Message in = exchange.getIn();
                        assertEquals("We should not get any attachements here.", 2, in.getAttachments().size());
                        assertEquals("Get a wrong Content-Type header", "application/xop+xml", in.getHeader("Content-Type"));
                        exchange.getOut().setBody("OK");

                    }
                });
            }
{code}

You can see this assertion:
{code}
 assertEquals("We should not get any attachements here.", 2, in.getAttachments().size());
{code}
It has to be 2 here in order to make the junit test case to pass. Which means that it had 2 attachments in Camel as well as 2 attachments in the Soap message.

> SOAP with attachments not mapped correctly from CXF to Camel for CXF_MESSAGE
> ----------------------------------------------------------------------------
>
>                 Key: CAMEL-7471
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7471
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.10.4
>            Reporter: Joe Luo
>         Attachments: junit_test.diff
>
>
> SOAP with attachments messages are not mapped correctly from CXF to Camel and back if using CXF_MESSAGE message format. 
> We are having following simple camel route:
> {code}
> <route>
>     <from uri="cxf:bean:Endpoint1" />
>     <to uri="cxf:bean:Endpoint2" />
> </route>
> {code}
> So mapping between CXF Endpoint 1 and Camel creates attachments in Camel exchange and sets the Camel IN message as a soap message. However, it's missing a bit of removing the attachments from the message as they are already added to the Camel Exchange.
> Mapping from Camel and CXF Endpoint 2 maps Camel IN message (Soap with attachments) to CXF and then adds the attachments from Camel exchange which results in a messed up soap message that appears to contain twice as many attachments and it has messed up MIME boundaries as well as some of them are from the input message and some of them are generated during the last mapping.
> As a workaround we have added a Camel processor that clears the attachments from the IN Message in Camel .



--
This message was sent by Atlassian JIRA
(v6.2#6252)