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:32:51 UTC
[camel] branch camel-2.23.x 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 camel-2.23.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.23.x by this push:
new e476e44 [CAMEL-13357]Regression - Namespaces defined on the SOAP envelope get lost in PAYLOAD mode
e476e44 is described below
commit e476e4457b7d049297054daf840571cea2c4266e
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
(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