[
https://issues.apache.org/jira/browse/CAMEL-13357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Freeman Fang resolved CAMEL-13357.
----------------------------------
Resolution: Fixed
Fix Version/s: 2.22.4
2.23.2
3.0.0
> Regression - Namespaces defined on the SOAP envelope get lost in PAYLOAD mode
> -----------------------------------------------------------------------------
>
> Key: CAMEL-13357
> URL: https://issues.apache.org/jira/browse/CAMEL-13357
> Project: Camel
> Issue Type: Bug
> Components: camel-cxf
> Reporter: Jochen Riedlinger
> Assignee: Freeman Fang
> Priority: Major
> Fix For: 3.0.0, 2.23.2, 2.22.4
>
> Attachments: ReproducerException.log
>
>
> 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
(v7.6.3#76005)