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()); } } }