You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dk...@apache.org on 2014/01/03 23:04:10 UTC

[1/3] git commit: Start investigating what it will take to get Camel working with CXF 3. camel-cxf-transport now works with either 2.7 or 3

Updated Branches:
  refs/heads/cxf3 [created] a34bfb17c


Start investigating what it will take to get Camel working with CXF 3.  camel-cxf-transport now works with either 2.7 or 3


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

Branch: refs/heads/cxf3
Commit: 66c0d0f938319a88590d06c18d4c6c84f70b3b03
Parents: 78edbd8
Author: Daniel Kulp <dk...@apache.org>
Authored: Fri Jan 3 16:30:03 2014 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Jan 3 16:30:03 2014 -0500

----------------------------------------------------------------------
 components/camel-cxf-transport/pom.xml          |  5 --
 .../cxf/transport/CamelDestination.java         |  5 +-
 .../cxf/transport/CamelTransportFactory.java    | 87 +++++++++++++++++---
 .../cxf/transport/CamelDestinationTest.java     |  8 +-
 parent/pom.xml                                  |  4 +-
 5 files changed, 85 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/66c0d0f9/components/camel-cxf-transport/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-cxf-transport/pom.xml b/components/camel-cxf-transport/pom.xml
index 138a582..966e5e7 100644
--- a/components/camel-cxf-transport/pom.xml
+++ b/components/camel-cxf-transport/pom.xml
@@ -64,11 +64,6 @@
       <artifactId>camel-core</artifactId>
     </dependency>
     
-     <dependency>
-      <groupId>org.apache.cxf</groupId>
-      <artifactId>cxf-rt-core</artifactId>
-    </dependency>
-    
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-soap</artifactId>

http://git-wip-us.apache.org/repos/asf/camel/blob/66c0d0f9/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
index 4b3d142..7dbc65d 100644
--- a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
+++ b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
@@ -45,7 +45,6 @@ import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.ConduitInitiator;
 import org.apache.cxf.transport.MessageObserver;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -195,13 +194,13 @@ public class CamelDestination extends AbstractDestination implements Configurabl
     }
 
     // this should deal with the cxf message
-    protected class BackChannelConduit extends AbstractConduit {
+    protected class BackChannelConduit extends AbstractBackChannelConduit {
         protected Message inMessage;
         Exchange camelExchange;
         org.apache.cxf.message.Exchange cxfExchange;
 
         BackChannelConduit(Message message) {
-            super(EndpointReferenceUtils.getAnonymousEndpointReference());
+            super();
             inMessage = message;
             cxfExchange = inMessage.getExchange();
             camelExchange = cxfExchange.get(Exchange.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/66c0d0f9/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
index d95e28a..06250d8 100644
--- a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
+++ b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelTransportFactory.java
@@ -22,26 +22,27 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import javax.annotation.Resource;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.cxf.Bus;
+import org.apache.cxf.BusException;
 import org.apache.cxf.common.injection.NoJSR250Annotations;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.AbstractTransportFactory;
 import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.ConduitInitiator;
+import org.apache.cxf.transport.ConduitInitiatorManager;
 import org.apache.cxf.transport.Destination;
 import org.apache.cxf.transport.DestinationFactory;
+import org.apache.cxf.transport.DestinationFactoryManager;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
 
 /**
  * @version 
  */
-@NoJSR250Annotations(unlessNull = "bus")
+@NoJSR250Annotations
 public class CamelTransportFactory extends AbstractTransportFactory implements ConduitInitiator, DestinationFactory, CamelContextAware {
 
     public static final String TRANSPORT_ID = "http://cxf.apache.org/transports/camel";
@@ -50,6 +51,7 @@ public class CamelTransportFactory extends AbstractTransportFactory implements C
 
     private HeaderFilterStrategy headerFilterStrategy;
     private boolean checkException;
+    private Bus bus;
 
     static {
         URI_PREFIXES.add("camel://");        
@@ -64,18 +66,16 @@ public class CamelTransportFactory extends AbstractTransportFactory implements C
         headerFilterStrategy = defaultHeaderFilterStrategy;
     }
     public CamelTransportFactory(Bus b) {
-        super(DEFAULT_NAMESPACES, b);
+        super(DEFAULT_NAMESPACES);
+        bus = b;
+        registerFactory();
+
         CxfHeaderFilterStrategy defaultHeaderFilterStrategy = new CxfHeaderFilterStrategy();
         // Doesn't filter the camel relates headers by default
         defaultHeaderFilterStrategy.setOutFilterPattern(null);
         headerFilterStrategy = defaultHeaderFilterStrategy;
     }
 
-    @Resource(name = "cxf")
-    public void setBus(Bus b) {
-        super.setBus(b);
-    }
-    
     public void setCheckException(boolean check) {
         checkException = check;
     }
@@ -85,15 +85,15 @@ public class CamelTransportFactory extends AbstractTransportFactory implements C
     }
 
     public Conduit getConduit(EndpointInfo targetInfo) throws IOException {
-        return getConduit(targetInfo, null);
+        return getConduit(targetInfo, null, bus);
     }
 
     public Conduit getConduit(EndpointInfo endpointInfo, EndpointReferenceType target) throws IOException {
-        return new CamelConduit(camelContext, bus, endpointInfo, target, headerFilterStrategy);
+        return getConduit(endpointInfo, target, bus);
     }
 
     public Destination getDestination(EndpointInfo endpointInfo) throws IOException {
-        return new CamelDestination(camelContext, bus, this, endpointInfo, headerFilterStrategy, checkException);
+        return getDestination(endpointInfo, bus);
     }
 
     public Set<String> getUriPrefixes() {
@@ -114,7 +114,70 @@ public class CamelTransportFactory extends AbstractTransportFactory implements C
     public void setCamelContext(CamelContext c) {
         camelContext = c;
     }
+    public Destination getDestination(EndpointInfo ei, Bus b) throws IOException {
+        return new CamelDestination(camelContext, b, this, ei, headerFilterStrategy, checkException);
+    }
+    public Conduit getConduit(EndpointInfo targetInfo, Bus b) throws IOException {
+        return getConduit(targetInfo, null, b);
+    }
+    public Conduit getConduit(EndpointInfo localInfo, EndpointReferenceType target, Bus b)
+        throws IOException {
+        return new CamelConduit(camelContext, b, localInfo, target, headerFilterStrategy);
+    }
 
+    // CXF 2.x support methods    
+    public void setBus(Bus b) {
+        unregisterFactory();
+        bus = b;
+        registerFactory();
+    }
+    public final void registerFactory() {
+        if (null == bus) {
+            return;
+        }
+        DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
+        if (null != dfm && getTransportIds() != null) {
+            for (String ns : getTransportIds()) {
+                dfm.registerDestinationFactory(ns, (DestinationFactory)this);
+            }
+        }
+        ConduitInitiatorManager cim = bus.getExtension(ConduitInitiatorManager.class);
+        if (cim != null && getTransportIds() != null) {
+            for (String ns : getTransportIds()) {
+                cim.registerConduitInitiator(ns, (ConduitInitiator)this);
+            }
+        }
+    }
+    
+    public final void unregisterFactory() {
+        if (null == bus) {
+            return;
+        }
+        DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
+        if (null != dfm && getTransportIds() != null) {
+            for (String ns : getTransportIds()) {
+                try {
+                    if (dfm.getDestinationFactory(ns) == this) {
+                        dfm.deregisterDestinationFactory(ns);
+                    }
+                } catch (BusException e) {
+                    //ignore
+                }
+            }
+        }
+        ConduitInitiatorManager cim = bus.getExtension(ConduitInitiatorManager.class);
+        if (cim != null && getTransportIds() != null) {
+            for (String ns : getTransportIds()) {
+                try {
+                    if (cim.getConduitInitiator(ns) == this) {
+                        cim.deregisterConduitInitiator(ns);
+                    }
+                } catch (BusException e) {
+                    //ignore
+                }
+            }
+        }
+    }
 }
 
 

http://git-wip-us.apache.org/repos/asf/camel/blob/66c0d0f9/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/CamelDestinationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/CamelDestinationTest.java b/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/CamelDestinationTest.java
index fa16524..7adcbcd 100644
--- a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/CamelDestinationTest.java
+++ b/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/CamelDestinationTest.java
@@ -172,7 +172,7 @@ public class CamelDestinationTest extends CamelTransportTestSupport {
                     //verifyHeaders(m, outMessage);
                     // setup the message for
                     Conduit backConduit;
-                    backConduit = destination.getBackChannel(m, null, null);
+                    backConduit = getBackChannel(destination, m);
                     // wait for the message to be got from the conduit
                     Message replyMessage = new MessageImpl();
                     sendoutMessage(backConduit, replyMessage, true, "HelloWorld Response");
@@ -221,7 +221,7 @@ public class CamelDestinationTest extends CamelTransportTestSupport {
                     //verifyHeaders(m, outMessage);
                     // setup the message for
                     Conduit backConduit;
-                    backConduit = destination.getBackChannel(m, null, null);
+                    backConduit = getBackChannel(destination, m);
                     // wait for the message to be got from the conduit
                     Message replyMessage = new MessageImpl();
                     replyMessage.setContent(Exception.class, new RuntimeCamelException());
@@ -249,6 +249,10 @@ public class CamelDestinationTest extends CamelTransportTestSupport {
         destination.shutdown();
     }
     
+    private Conduit getBackChannel(CamelDestination destination, Message m) throws IOException {
+        return destination.getInbuiltBackChannel(m);
+    }
+    
     @Test
     public void testExceptionForwardedToExchange() throws IOException {
         final RuntimeException expectedException = new RuntimeException("We simulate an exception in CXF processing");

http://git-wip-us.apache.org/repos/asf/camel/blob/66c0d0f9/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 2045354..643cbfb 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -107,8 +107,8 @@
     <concurrentlinkedhashmap.version>1.4</concurrentlinkedhashmap.version>
     <cobertura-maven-plugin-version>2.5.2</cobertura-maven-plugin-version>
     <cxf-version>2.7.8</cxf-version>
-    <cxf-version-range>[2.6,2.9)</cxf-version-range>
-    <cxf-xjc-utils-version>2.6.2</cxf-xjc-utils-version>
+    <cxf-version-range>[2.6,4.0)</cxf-version-range>
+    <cxf-xjc-utils-version>2.7.0</cxf-xjc-utils-version>
     <deltaspike-version>0.3-incubating</deltaspike-version>
     <derby-version>10.10.1.1</derby-version>
     <disruptor-version>3.2.0</disruptor-version>


[2/3] git commit: Remove an unused import

Posted by dk...@apache.org.
Remove an unused import


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

Branch: refs/heads/cxf3
Commit: fbcffb274706f90e44270597c0734a49db17ecd9
Parents: 66c0d0f
Author: Daniel Kulp <dk...@apache.org>
Authored: Fri Jan 3 16:39:57 2014 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Jan 3 16:39:57 2014 -0500

----------------------------------------------------------------------
 .../org/apache/camel/component/cxf/transport/CamelDestination.java  | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/fbcffb27/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
index 7dbc65d..dee3c52 100644
--- a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
+++ b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/CamelDestination.java
@@ -39,7 +39,6 @@ import org.apache.cxf.io.CachedOutputStream;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageImpl;
 import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.transport.AbstractConduit;
 import org.apache.cxf.transport.AbstractDestination;
 import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.transport.ConduitInitiator;


[3/3] git commit: Update to use StaxUtils methods wherever possible. (better security handling, better performing, compatible with cxf3)

Posted by dk...@apache.org.
Update to use StaxUtils methods wherever possible. (better security handling, better performing, compatible with cxf3)


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

Branch: refs/heads/cxf3
Commit: a34bfb17cd42ade0bba6b9d12bda586e702d98f2
Parents: fbcffb2
Author: Daniel Kulp <dk...@apache.org>
Authored: Fri Jan 3 16:58:31 2014 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Jan 3 16:58:31 2014 -0500

----------------------------------------------------------------------
 .../apache/camel/component/cxf/DefaultCxfBinding.java  | 13 +++++++++++--
 .../component/cxf/cxfbean/CxfBeanTransportFactory.java |  5 +++--
 .../ConfigureDocLitWrapperInterceptor.java             |  7 ++++---
 .../cxf/CxfConsumerPayLoadFaultMessageTest.java        |  3 ++-
 .../cxf/CxfConsumerPayLoadMarshalFaultTest.java        |  3 ++-
 .../component/cxf/CxfConsumerPayloadFaultTest.java     |  3 ++-
 .../apache/camel/component/cxf/CxfEndpointTest.java    |  7 ++++---
 .../camel/component/cxf/CxfMixedModeRouterTest.java    |  5 +++--
 .../org/apache/camel/component/cxf/SoapTargetBean.java |  5 +++--
 .../cxf/mtom/CxfMtomConsumerPayloadModeTest.java       |  6 +++---
 .../mtom/CxfMtomDisabledConsumerPayloadModeTest.java   |  5 ++---
 .../mtom/CxfMtomDisabledProducerPayloadModeTest.java   |  3 ++-
 .../cxf/mtom/CxfMtomProducerPayloadModeTest.java       |  3 ++-
 .../cxf/soap/headers/CxfMessageHeadersRelayTest.java   | 13 ++++++-------
 14 files changed, 49 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/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 a595484..2657508 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
@@ -60,7 +60,6 @@ import org.apache.cxf.headers.Header;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.HttpHeaderHelper;
-import org.apache.cxf.helpers.XMLUtils;
 import org.apache.cxf.jaxws.context.WrappedMessageContext;
 import org.apache.cxf.message.Attachment;
 import org.apache.cxf.message.Message;
@@ -72,6 +71,7 @@ import org.apache.cxf.service.model.BindingMessageInfo;
 import org.apache.cxf.service.model.BindingOperationInfo;
 import org.apache.cxf.service.model.MessagePartInfo;
 import org.apache.cxf.service.model.OperationInfo;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -793,7 +793,7 @@ public class DefaultCxfBinding implements CxfBinding, HeaderFilterStrategyAware
                 
                 if (LOG.isTraceEnabled()) {
                     LOG.trace("Extract body element {}",
-                              element == null ? "null" : XMLUtils.toString(element));
+                              element == null ? "null" : getXMLString(element));
                 }
             } else if (part instanceof Element) {
                 addNamespace((Element)part, nsMap);
@@ -807,6 +807,15 @@ public class DefaultCxfBinding implements CxfBinding, HeaderFilterStrategyAware
 
         return answer;
     }
+    
+    private static String getXMLString(Element el) {
+        try {
+            return StaxUtils.toString(el);
+        } catch (Throwable t) {
+            //ignore
+        }
+        return "unknown content";
+    }
 
     public static Object getBodyFromCamel(org.apache.camel.Message out,
             DataFormat dataFormat) {

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTransportFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTransportFactory.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTransportFactory.java
index fbf8a4d..485de03 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTransportFactory.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTransportFactory.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.cxf.cxfbean;
 import java.io.IOException;
 
 import org.apache.camel.component.cxf.transport.CamelTransportFactory;
+import org.apache.cxf.Bus;
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.Destination;
 import org.slf4j.Logger;
@@ -36,12 +37,12 @@ public class CxfBeanTransportFactory extends CamelTransportFactory  {
     private CxfBeanComponent cxfBeanComponent;
  
     @Override
-    public Destination getDestination(EndpointInfo endpointInfo) throws IOException {
+    public Destination getDestination(EndpointInfo endpointInfo, Bus b) throws IOException {
         LOG.debug("Create CxfBeanDestination: {}", endpointInfo);
         
         // lookup endpoint from component instead of CamelContext because it may not
         // be added to the CamelContext yet.
-        return new CxfBeanDestination(cxfBeanComponent, getBus(), this, endpointInfo);
+        return new CxfBeanDestination(cxfBeanComponent, b, this, endpointInfo);
     }
 
     public void setCxfBeanComponent(CxfBeanComponent cxfBeanComponent) {

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/interceptors/ConfigureDocLitWrapperInterceptor.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/interceptors/ConfigureDocLitWrapperInterceptor.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/interceptors/ConfigureDocLitWrapperInterceptor.java
index 3873d5e..3ad2b04 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/interceptors/ConfigureDocLitWrapperInterceptor.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/interceptors/ConfigureDocLitWrapperInterceptor.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.cxf.interceptors;
 
 import org.apache.cxf.interceptor.AbstractInDatabindingInterceptor;
-import org.apache.cxf.interceptor.DocLiteralInInterceptor;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.Phase;
@@ -33,12 +32,14 @@ public class ConfigureDocLitWrapperInterceptor extends AbstractInDatabindingInte
     
     public ConfigureDocLitWrapperInterceptor(boolean unwrapParameterFlag) {
         super(Phase.UNMARSHAL);        
-        addBefore(DocLiteralInInterceptor.class.getName());
+        addBefore("org.apache.cxf.interceptor.DocLiteralInInterceptor");
+        addBefore("org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor");
         this.unwrapParameterFlag = unwrapParameterFlag;
     }
 
     public void handleMessage(Message message) throws Fault {
-        message.put(DocLiteralInInterceptor.KEEP_PARAMETERS_WRAPPER, unwrapParameterFlag);
+        message.put("org.apache.cxf.interceptor.DocLiteralInInterceptor.DocLiteralInInterceptor.keep-parameters-wrapper", unwrapParameterFlag);
+        message.put("org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.DocLiteralInInterceptor.keep-parameters-wrapper", unwrapParameterFlag);
     }
     
     public boolean isUnwrapParameterFlag() {

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
index 3668db8..0454737 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
@@ -27,6 +27,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.staxutils.StaxUtils;
 
 // SET the fault message directly on the out message
 public class CxfConsumerPayLoadFaultMessageTest extends CxfConsumerPayloadFaultTest {
@@ -41,7 +42,7 @@ public class CxfConsumerPayLoadFaultMessageTest extends CxfConsumerPayloadFaultT
             public void configure() {
                 from(fromURI).process(new Processor() {
                     public void process(final Exchange exchange) throws Exception {
-                        Element details = DOMUtils.readXml(new StringReader(FAULTS)).getDocumentElement();
+                        Element details = StaxUtils.read(new StringReader(FAULTS)).getDocumentElement();
                         List<Element> outElements = new ArrayList<Element>();
                         outElements.add(details);
                         CxfPayload<SoapHeader> responsePayload = new CxfPayload<SoapHeader>(null, outElements);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadMarshalFaultTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadMarshalFaultTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadMarshalFaultTest.java
index 69e6fbf..e89099b 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadMarshalFaultTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadMarshalFaultTest.java
@@ -29,6 +29,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.wsdl_first.types.UnknownPersonFault;
 import org.apache.cxf.binding.soap.SoapFault;
 import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.staxutils.StaxUtils;
 
 
 
@@ -45,7 +46,7 @@ public class CxfConsumerPayLoadMarshalFaultTest extends CxfConsumerPayloadFaultT
                         JAXBContext context = JAXBContext.newInstance("org.apache.camel.wsdl_first.types");
                         QName faultCode = new QName("http://schemas.xmlsoap.org/soap/envelope/", "Server");
                         SoapFault fault = new SoapFault("Get the null value of person name", faultCode);
-                        Element details = DOMUtils.readXml(new StringReader(DETAILS)).getDocumentElement();
+                        Element details = StaxUtils.read(new StringReader(DETAILS)).getDocumentElement();
                         UnknownPersonFault unknowPersonFault = new UnknownPersonFault();
                         unknowPersonFault.setPersonId("");
                         context.createMarshaller().marshal(unknowPersonFault, details);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadFaultTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadFaultTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadFaultTest.java
index 84fcde8..629e3f9 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadFaultTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadFaultTest.java
@@ -39,6 +39,7 @@ import org.apache.cxf.frontend.ClientProxy;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.interceptor.LoggingInInterceptor;
 import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.Test;
 
 
@@ -77,7 +78,7 @@ public class CxfConsumerPayloadFaultTest extends CamelTestSupport {
                     public void process(final Exchange exchange) throws Exception {
                         QName faultCode = new QName("http://schemas.xmlsoap.org/soap/envelope/", "Server");
                         SoapFault fault = new SoapFault("Get the null value of person name", faultCode);
-                        Element details = DOMUtils.readXml(new StringReader(DETAILS)).getDocumentElement();
+                        Element details = StaxUtils.read(new StringReader(DETAILS)).getDocumentElement();
                         fault.setDetail(details);
                         exchange.setException(fault);
                         

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
index f1a7cf3..7868403 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
@@ -24,8 +24,9 @@ import org.apache.camel.component.cxf.CxfEndpoint.CamelCxfClientImpl;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.SimpleRegistry;
 import org.apache.camel.spring.SpringCamelContext;
+import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
-import org.apache.cxf.bus.CXFBusImpl;
+import org.apache.cxf.bus.extension.ExtensionManagerBus;
 import org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory;
 import org.easymock.EasyMock;
 import org.junit.Assert;
@@ -67,11 +68,11 @@ public class CxfEndpointTest extends Assert {
 
     @Test
     public void testSettingClientBus() throws Exception {
-        CXFBusImpl bus = (CXFBusImpl) BusFactory.newInstance().createBus();
+        ExtensionManagerBus bus = (ExtensionManagerBus) BusFactory.newInstance().createBus();
         bus.setId("oldCXF");
         BusFactory.setThreadDefaultBus(bus);
         
-        CXFBusImpl newBus = (CXFBusImpl) BusFactory.newInstance().createBus();
+        ExtensionManagerBus newBus = (ExtensionManagerBus) BusFactory.newInstance().createBus();
         newBus.setId("newCXF");
         CxfComponent cxfComponent = new CxfComponent(new DefaultCamelContext());
         CxfEndpoint endpoint = (CxfEndpoint)cxfComponent.createEndpoint(routerEndpointURI);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
index 7ad3b82..017730c 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.camel.component.cxf;
 
+import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -36,7 +37,7 @@ import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.apache.cxf.frontend.ServerFactoryBean;
-import org.apache.cxf.helpers.XMLUtils;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -121,7 +122,7 @@ public class CxfMixedModeRouterTest extends CamelTestSupport {
                                 + list.get(0) 
                                 + "</return></ns1:echoResponse>";
                             List<Element> body = new ArrayList<Element>();
-                            body.add(XMLUtils.parse(s).getDocumentElement());
+                            body.add(StaxUtils.read(new StringReader(s)).getDocumentElement());
 
                             message = new CxfPayload<SoapHeader>(new ArrayList<SoapHeader>(), body);
                         }

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/SoapTargetBean.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/SoapTargetBean.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/SoapTargetBean.java
index e268233..16ba0a5 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/SoapTargetBean.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/SoapTargetBean.java
@@ -26,7 +26,8 @@ import javax.xml.soap.SOAPMessage;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
-import org.apache.cxf.helpers.XMLUtils;
+import org.apache.cxf.staxutils.StaxUtils;
+
 
 public class SoapTargetBean {
     private static QName sayHi = new QName("http://apache.org/hello_world_soap_http/types", "sayHi");
@@ -83,7 +84,7 @@ public class SoapTargetBean {
     public SOAPMessage invokeStream(InputStream in) {
         SOAPMessage response = null;
         try {
-            Document doc = XMLUtils.parse(in);
+            Document doc = StaxUtils.read(in);
             if (doc.getElementsByTagNameNS(greetMe.getNamespaceURI(), 
                                            sayHi.getLocalPart()).getLength() == 1) {
                 response = sayHiResponse;

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
index 77e4c8b..3cc587e 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
@@ -41,11 +41,11 @@ import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.helpers.XPathUtils;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
-
 import static org.junit.Assert.assertEquals;
 
 
@@ -73,7 +73,7 @@ public class CxfMtomConsumerPayloadModeTest extends AbstractJUnit4SpringContextT
                 exchange.setPattern(ExchangePattern.InOut);
                 assertEquals("Get a wrong Content-Type header", "application/xop+xml", exchange.getIn().getHeader("Content-Type"));
                 List<Source> elements = new ArrayList<Source>();
-                elements.add(new DOMSource(DOMUtils.readXml(new StringReader(getRequestMessage())).getDocumentElement()));
+                elements.add(new DOMSource(StaxUtils.read(new StringReader(getRequestMessage())).getDocumentElement()));
                 CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new ArrayList<SoapHeader>(),
                     elements, null);
                 exchange.getIn().setBody(body);
@@ -122,7 +122,7 @@ public class CxfMtomConsumerPayloadModeTest extends AbstractJUnit4SpringContextT
 
             // create response
             List<Source> elements = new ArrayList<Source>();
-            elements.add(new DOMSource(DOMUtils.readXml(new StringReader(MtomTestHelper.RESP_MESSAGE)).getDocumentElement()));
+            elements.add(new DOMSource(StaxUtils.read(new StringReader(MtomTestHelper.RESP_MESSAGE)).getDocumentElement()));
             CxfPayload<SoapHeader> sbody = new CxfPayload<SoapHeader>(new ArrayList<SoapHeader>(),
                 elements, null);
             exchange.getOut().setBody(sbody);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
index 7b37162..fd8798a 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
@@ -32,9 +32,8 @@ import org.apache.camel.component.cxf.CxfPayload;
 import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.IOUtils;
-
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.Assert;
-
 import org.springframework.test.context.ContextConfiguration;
 
 /**
@@ -71,7 +70,7 @@ public class CxfMtomDisabledConsumerPayloadModeTest extends CxfMtomConsumerPaylo
 
             // create response
             List<Source> elements = new ArrayList<Source>();
-            elements.add(new DOMSource(DOMUtils.readXml(new StringReader(MtomTestHelper.MTOM_DISABLED_RESP_MESSAGE)).getDocumentElement()));
+            elements.add(new DOMSource(StaxUtils.read(new StringReader(MtomTestHelper.MTOM_DISABLED_RESP_MESSAGE)).getDocumentElement()));
             CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new ArrayList<SoapHeader>(),
                 elements, null);
             exchange.getOut().setBody(body);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
index 754c434..d4e44af 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
@@ -46,6 +46,7 @@ import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.IOUtils;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.Assert;
 import org.springframework.test.context.ContextConfiguration;
 
@@ -81,7 +82,7 @@ public class CxfMtomDisabledProducerPayloadModeTest extends CxfMtomProducerPaylo
             public void process(Exchange exchange) throws Exception {
                 exchange.setPattern(ExchangePattern.InOut);
                 List<Source> elements = new ArrayList<Source>();
-                elements.add(new DOMSource(DOMUtils.readXml(new StringReader(MtomTestHelper.MTOM_DISABLED_REQ_MESSAGE)).getDocumentElement()));
+                elements.add(new DOMSource(StaxUtils.read(new StringReader(MtomTestHelper.MTOM_DISABLED_REQ_MESSAGE)).getDocumentElement()));
                 CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new ArrayList<SoapHeader>(),
                     elements, null);
                 exchange.getIn().setBody(body);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
index ec05b5d..685b276 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
@@ -45,6 +45,7 @@ import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.helpers.XPathUtils;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -96,7 +97,7 @@ public class CxfMtomProducerPayloadModeTest extends AbstractJUnit4SpringContextT
             public void process(Exchange exchange) throws Exception {
                 exchange.setPattern(ExchangePattern.InOut);
                 List<Source> elements = new ArrayList<Source>();
-                elements.add(new DOMSource(DOMUtils.readXml(new StringReader(MtomTestHelper.REQ_MESSAGE)).getDocumentElement()));
+                elements.add(new DOMSource(StaxUtils.read(new StringReader(MtomTestHelper.REQ_MESSAGE)).getDocumentElement()));
                 CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new ArrayList<SoapHeader>(),
                     elements, null);
                 exchange.getIn().setBody(body);

http://git-wip-us.apache.org/repos/asf/camel/blob/a34bfb17/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
index c05e01b..6c3f0dd 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
@@ -55,17 +55,16 @@ import org.apache.cxf.headers.Header;
 import org.apache.cxf.headers.Header.Direction;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.helpers.DOMUtils;
-import org.apache.cxf.helpers.XMLUtils;
 import org.apache.cxf.jaxb.JAXBDataBinding;
 import org.apache.cxf.message.MessageContentsList;
 import org.apache.cxf.outofband.header.OutofBandHeader;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -416,10 +415,10 @@ public class CxfMessageHeadersRelayTest extends AbstractJUnit4SpringContextTests
         String requestBody = "<ns2:inoutHeader xmlns:ns2=\"http://apache.org/camel/component/cxf/soap/headers\">" 
             + "<requestType>CXF user</requestType></ns2:inoutHeader>";
         List<Source> elements = new ArrayList<Source>();
-        elements.add(new DOMSource(DOMUtils.readXml(new StringReader(requestBody)).getDocumentElement()));
+        elements.add(new DOMSource(StaxUtils.read(new StringReader(requestBody)).getDocumentElement()));
         final List<SoapHeader> headers = new ArrayList<SoapHeader>();
         headers.add(new SoapHeader(qname,
-                                   DOMUtils.readXml(new StringReader(requestHeader)).getDocumentElement()));
+                                   StaxUtils.read(new StringReader(requestHeader)).getDocumentElement()));
         final CxfPayload<SoapHeader> cxfPayload = new CxfPayload<SoapHeader>(headers, elements, null);
         
         Exchange exchange = template.request(uri, new Processor() {
@@ -441,7 +440,7 @@ public class CxfMessageHeadersRelayTest extends AbstractJUnit4SpringContextTests
         String responseExp = "<ns2:inoutHeaderResponse xmlns:ns2=\"http://apache.org/camel/" 
             + "component/cxf/soap/headers\"><responseType>pass</responseType>" 
             + "</ns2:inoutHeaderResponse>";
-        String response = XMLUtils.toString(out.getBody().get(0));
+        String response = StaxUtils.toString(out.getBody().get(0));
         assertTrue(response, response.contains(responseExp));
     }
 
@@ -704,7 +703,7 @@ public class CxfMessageHeadersRelayTest extends AbstractJUnit4SpringContextTests
                 + "<name>New_testOobHeader</name><value>New_testOobHeaderValue</value></outofbandHeader>";
             
             SoapHeader newHeader = new SoapHeader(soapHeaders.get(0).getName(),
-                                                  DOMUtils.readXml(new StringReader(xml)).getDocumentElement());
+                                                  StaxUtils.read(new StringReader(xml)).getDocumentElement());
             // make sure direction is IN since it is a request message.
             newHeader.setDirection(Direction.DIRECTION_IN);
             //newHeader.setMustUnderstand(false);
@@ -732,7 +731,7 @@ public class CxfMessageHeadersRelayTest extends AbstractJUnit4SpringContextTests
                 + "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" soap:mustUnderstand=\"1\">"
                 + "<name>New_testOobHeader</name><value>New_testOobHeaderValue</value></outofbandHeader>";
             SoapHeader newHeader = new SoapHeader(soapHeaders.get(0).getName(),
-                           DOMUtils.readXml(new StringReader(xml)).getDocumentElement());
+                                                  StaxUtils.read(new StringReader(xml)).getDocumentElement());
             // make sure direction is OUT since it is a response message.
             newHeader.setDirection(Direction.DIRECTION_OUT);
             //newHeader.setMustUnderstand(false);