This is an automated email from the ASF dual-hosted git repository. ffang pushed a commit to branch camel-2.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.x by this push: new cd03c2a [CAMEL-13357]Regression - Namespaces defined on the SOAP envelope get lost in PAYLOAD mode cd03c2a is described below commit cd03c2aaea5c7ce6aa7c94284b72905ad1b99ea1 Author: Freeman Fang <freeman.f...@gmail.com> AuthorDate: Thu Mar 28 20:29:37 2019 +0800 [CAMEL-13357]Regression - Namespaces defined on the SOAP envelope get lost in PAYLOAD mode (cherry picked from commit 3b7d95c16a0bfce7aeb0d7a524fac3c6b792ad15) --- .../camel/component/cxf/converter/DelegatingXMLStreamReader.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/DelegatingXMLStreamReader.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/DelegatingXMLStreamReader.java index ce9882c..e5fca30 100644 --- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/DelegatingXMLStreamReader.java +++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/DelegatingXMLStreamReader.java @@ -34,9 +34,11 @@ class DelegatingXMLStreamReader implements XMLStreamReader { private XMLStreamReader reader; private final String[] xprefixes; private int depth; + private Map<String, String> nsmap; DelegatingXMLStreamReader(XMLStreamReader reader, Map<String, String> nsmap) { this.reader = reader; + this.nsmap = nsmap; //the original nsmap will be mutated if some of its declarations are redundantly present at the current reader Set<String> prefixes = nsmap.keySet(); for (int i = 0; i < reader.getNamespaceCount(); i++) { @@ -89,7 +91,11 @@ class DelegatingXMLStreamReader implements XMLStreamReader { @Override public String getNamespaceURI(String prefix) { - return reader.getNamespaceURI(prefix); + String ret = reader.getNamespaceURI(prefix); + if (ret == null) { + ret = nsmap.get(prefix); + } + return ret; } @Override