You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ff...@apache.org on 2019/03/28 12:29:57 UTC
[camel] branch master updated: [CAMEL-13357]Regression - Namespaces
defined on the SOAP envelope get lost in PAYLOAD mode
This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 3b7d95c [CAMEL-13357]Regression - Namespaces defined on the SOAP envelope get lost in PAYLOAD mode
3b7d95c is described below
commit 3b7d95c16a0bfce7aeb0d7a524fac3c6b792ad15
Author: Freeman Fang <fr...@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
---
.../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 9f4d26f..b5b5235 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
@@ -30,9 +30,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++) {
@@ -85,7 +87,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