Repository: camel
Updated Branches:
  refs/heads/camel-2.17.x 54826e8a7 -> a7aee7cbd


[CAMEL-10578] Use proper methods for adding namespace declarations to DOM


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a7aee7cb
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a7aee7cb
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a7aee7cb

Branch: refs/heads/camel-2.17.x
Commit: a7aee7cbd6a242c592cbad99edf9d9413f9327a6
Parents: 54826e8
Author: Daniel Kulp <dk...@apache.org>
Authored: Thu Dec 8 14:08:07 2016 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Thu Dec 8 14:10:25 2016 -0500

----------------------------------------------------------------------
 .../camel/component/cxf/DefaultCxfBinding.java   | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a7aee7cb/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
 
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
index aad23d5..f6367e5 100644
--- 
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
+++ 
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
@@ -56,6 +56,7 @@ import org.apache.cxf.binding.soap.Soap11;
 import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.binding.soap.SoapBindingConstants;
 import org.apache.cxf.binding.soap.SoapHeader;
+import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.headers.Header;
@@ -180,9 +181,7 @@ public class DefaultCxfBinding implements CxfBinding, 
HeaderFilterStrategyAware
         
         // propagate protocol headers
         propagateHeadersFromCxfToCamel(cxfMessage, camelExchange.getOut(), 
camelExchange);
-        DataFormat dataFormat = 
camelExchange.getProperty(CxfConstants.DATA_FORMAT_PROPERTY,  
-                                                          DataFormat.class);
-        boolean isXop = 
Boolean.valueOf(camelExchange.getProperty(Message.MTOM_ENABLED, String.class));
+
         // propagate attachments
         if (cxfMessage.getAttachments() != null) {
             // propagate attachments
@@ -761,15 +760,19 @@ public class DefaultCxfBinding implements CxfBinding, 
HeaderFilterStrategyAware
     }
 
     protected static void addNamespace(Element element, Map<String, String> 
nsMap) {
-        for (String ns : nsMap.keySet()) {
+        for (Map.Entry<String, String> ns : nsMap.entrySet()) {
             // We should not override the namespace setting of the element
-            if (XMLConstants.XMLNS_ATTRIBUTE.equals(ns)) {
+            if (XMLConstants.XMLNS_ATTRIBUTE.equals(ns.getKey())) {
+                if 
(ObjectHelper.isEmpty(element.getAttribute(XMLConstants.XMLNS_ATTRIBUTE))) {
+                    
element.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, ns.getKey(), 
ns.getValue());
+                }
+            } else if (StringUtils.isEmpty(ns.getKey())) {
                 if 
(ObjectHelper.isEmpty(element.getAttribute(XMLConstants.XMLNS_ATTRIBUTE))) {
-                    element.setAttribute(ns, nsMap.get(ns));
+                    
element.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns", 
ns.getValue());
                 }
             } else {
-                if 
(ObjectHelper.isEmpty(element.getAttribute(XMLConstants.XMLNS_ATTRIBUTE + ":" + 
ns))) {
-                    element.setAttribute(XMLConstants.XMLNS_ATTRIBUTE + ":" + 
ns, nsMap.get(ns));
+                if 
(ObjectHelper.isEmpty(element.getAttribute(XMLConstants.XMLNS_ATTRIBUTE + ":" + 
ns.getKey()))) {
+                    
element.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, 
XMLConstants.XMLNS_ATTRIBUTE + ":" + ns.getKey(), ns.getValue());
                 }
             }
         }

Reply via email to