You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Akitoshi Yoshida (JIRA)" <ji...@apache.org> on 2015/07/30 10:44:04 UTC

[jira] [Commented] (CAMEL-8663) Namespaces defined on the SOAP envelope get lost in PAYLOAD mode

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

Akitoshi Yoshida commented on CAMEL-8663:
-----------------------------------------

Somehow I forgot about this ticket. I don't remember if I completed the work and forgot to mark it complete or if something is still left.
I will take care of it today.


> Namespaces defined on the SOAP envelope get lost in PAYLOAD mode
> ----------------------------------------------------------------
>
>                 Key: CAMEL-8663
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8663
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>            Reporter: Stephan Siano
>            Assignee: Akitoshi Yoshida
>         Attachments: 0001-CAMEL-8663-Namespaces-defined-on-SOAP-envelope-lost-.patch, 0001-Extension-to-Aki-s-patch.patch
>
>
> If a request message is send to a CXF consumer or a response is returned to the CXF provider that contains namespace definions at the SOAP envelope and the Camel-CXF endpoint is configured in PAYLOAD mode the namespace definition gets lost unless streaming is disabled.
> If the resulting CxfPayload is then converted e.g. to String that String will contain invalid XML (because some namespace definition is missing).
> For non-streaming mode (system property org.apache.camel.component.cxf.streaming is set to false) there are special precautions met to set these envelope namespaces on the first DOM element of the payload but this coding is missing for StAX.
> The messages in question look like that:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
>   <soap:Body>
>     <ns2:getTokenResponse xmlns:ns2="http://camel.apache.org/cxf/namespace">
>       <return xsi:type="xs:string">Return Value</return>
>     </ns2:getTokenResponse>
>   </soap:Body>
> </soap:Envelope>
> If the CxfPayload is converted to String it will lack the definition for the xsi namespace prefix (and further XML parsing will fail).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)