You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/02/03 13:07:16 UTC

svn commit: r906021 - in /tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime: ./ src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/runtime/ src/main/java/org/apache/tuscany/sca/binding/jms/provider/ src/main/java/org/apa...

Author: antelder
Date: Wed Feb  3 12:07:14 2010
New Revision: 906021

URL: http://svn.apache.org/viewvc?rev=906021&view=rev
Log:
Finish moving all the JMS binding off the AXIOM databinding to the DOM based one. Theres an intermittent issue with the JMS callbacks itest where trailing spaces seem to sometimes get lost, i'll take that itest out of the build for now while its investigated

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/pom.xml
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/runtime/OperationSelectorJMSDefaultServiceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLBytesMessageProcessor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/pom.xml?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/pom.xml Wed Feb  3 12:07:14 2010
@@ -68,7 +68,7 @@
 
 		<dependency>
 			<groupId>org.apache.tuscany.sca</groupId>
-			<artifactId>tuscany-databinding-axiom</artifactId>
+			<artifactId>tuscany-databinding-jaxb</artifactId>
 			<version>2.0-SNAPSHOT</version>
 		</dependency>
 

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/runtime/OperationSelectorJMSDefaultServiceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/runtime/OperationSelectorJMSDefaultServiceInterceptor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/runtime/OperationSelectorJMSDefaultServiceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/runtime/OperationSelectorJMSDefaultServiceInterceptor.java Wed Feb  3 12:07:14 2010
@@ -18,19 +18,13 @@
  */
 package org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.runtime;
 
-import java.io.ByteArrayInputStream;
-import java.io.StringReader;
+import java.io.IOException;
 import java.util.List;
 
 import javax.jms.BytesMessage;
 import javax.jms.JMSException;
 import javax.jms.TextMessage;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
 
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingException;
 import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext;
@@ -39,6 +33,7 @@
 import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory;
 import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSDefault;
 import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSTextXML;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.invocation.Interceptor;
@@ -46,6 +41,8 @@
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.runtime.RuntimeComponentService;
 import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
 
 /**
  * Policy handler to handle PolicySet related to Logging with the QName
@@ -65,7 +62,7 @@
     private JMSMessageProcessor responseMessageProcessor;
     private RuntimeComponentService service;
     private List<Operation> serviceOperations;
-    
+    private DOMHelper domHelper;
 
     public OperationSelectorJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint) {
         super();
@@ -76,6 +73,7 @@
         this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(registry, jmsBinding);
         this.service = (RuntimeComponentService)endpoint.getService();
         this.serviceOperations = service.getInterfaceContract().getInterface().getOperations();
+        this.domHelper = DOMHelper.getInstance(registry);
     }
     
     public Message invoke(Message msg) {
@@ -114,7 +112,7 @@
         } else if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSDefault
                 || jmsBinding.getRequestWireFormat() instanceof WireFormatJMSTextXML) {
 
-            OMElement rootElement;
+            Node rootElement;
             String operationFromPayload;
 
             try {
@@ -122,9 +120,7 @@
                     String xmlPayload = ((TextMessage) jmsMsg).getText();
 
                     if (xmlPayload != null) {
-                        XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xmlPayload));
-                        StAXOMBuilder builder = new StAXOMBuilder(reader);
-                        rootElement = builder.getDocumentElement();
+                        rootElement = domHelper.load(xmlPayload);
                         operationFromPayload = rootElement.getLocalName();
                         for (Operation op : serviceOperations) {
                             if (op.getName().equals(operationFromPayload)) {
@@ -140,9 +136,7 @@
                     ((BytesMessage) jmsMsg).reset();
 
                     if (bytes != null) {
-                        XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new ByteArrayInputStream(bytes));
-                        StAXOMBuilder builder = new StAXOMBuilder(reader);
-                        rootElement = builder.getDocumentElement();
+                        rootElement = domHelper.load(new String(bytes));
                         operationFromPayload = rootElement.getLocalName();
                         for (Operation op : serviceOperations) {
                             if (op.getName().equals(operationFromPayload)) {
@@ -153,7 +147,9 @@
                     }
                 }
 
-            } catch (XMLStreamException e) {
+            } catch (IOException e) {
+                //let's ignore this in case the client doesn't want to use a wrapped xml message
+            } catch (SAXException e) {
                 //let's ignore this in case the client doesn't want to use a wrapped xml message
             } catch (JMSException e) {
                 throw new JMSBindingException(e);

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultMessageProcessor.java Wed Feb  3 12:07:14 2010
@@ -18,8 +18,7 @@
  */
 package org.apache.tuscany.sca.binding.jms.provider;
 
-import java.io.ByteArrayInputStream;
-import java.io.StringReader;
+import java.io.IOException;
 import java.util.logging.Logger;
 
 import javax.jms.BytesMessage;
@@ -27,18 +26,18 @@
 import javax.jms.Message;
 import javax.jms.Session;
 import javax.jms.TextMessage;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.JMSBindingException;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.interfacedef.util.FaultException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
 
 /**
  * MessageProcessor for sending/receiving XML over javax.jms.TextMessage or javax.jms.BytesMessage 
@@ -51,8 +50,11 @@
 public class DefaultMessageProcessor extends AbstractMessageProcessor {
     private static final Logger logger = Logger.getLogger(DefaultMessageProcessor.class.getName());
 
+    private DOMHelper domHelper;
+
     public DefaultMessageProcessor(JMSBinding jmsBinding, ExtensionPointRegistry registry) {
         super(jmsBinding);
+        this.domHelper = DOMHelper.getInstance(registry);
     }
     
     // inherited methods that don't do anything useful
@@ -77,15 +79,14 @@
     
     // handle text messages
     
-    public Object extractPayloadFromJMSTextMessage(Message msg, OMElement wrapper) {
+    public Object extractPayloadFromJMSTextMessage(Message msg, Node wrapper) {
         if (msg instanceof TextMessage) {
             try {
                 String xml = ((TextMessage) msg).getText();
+
                 Object os;
-                if (xml != null) {
-                    XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xml));
-                    StAXOMBuilder builder = new StAXOMBuilder(reader);
-                    os = builder.getDocumentElement();
+                if (xml != null && xml.length() > 0) {
+                    os = domHelper.load(xml);
                 } else {
                     os = null;
                 }
@@ -93,19 +94,26 @@
                 if (wrapper != null){
                     //don't modify the original wrapper since it will be reused
                     //clone the wrapper
-                    OMElement newWrapper = wrapper.cloneOMElement();
-                    if (os != null){
-                        newWrapper.addChild((OMNode)os);
+                    Node node = ((Node)os);
+                    if (node == null) {
+                        node = domHelper.newDocument();
                     }
+                    Element newWrapper = DOMHelper.createElement((Document)node, new QName(wrapper.getNamespaceURI(), wrapper.getLocalName()));
+                    if (os != null){
+                        Node child = node.getFirstChild();
+                        newWrapper.appendChild(child);
+                    } 
                     return newWrapper;
                 }
                 
                 return os;
     
-            } catch (XMLStreamException e) {
-                throw new JMSBindingException(e);
             } catch (JMSException e) {
                 throw new JMSBindingException(e);
+            } catch (IOException e) {
+                throw new JMSBindingException(e);
+            } catch (SAXException e) {
+                throw new JMSBindingException(e);
             }
         } else {
             // handle the non-text fault case
@@ -119,31 +127,31 @@
 
             TextMessage message = session.createTextMessage();
 
-            if (o instanceof OMElement) {
+            if (o instanceof Node) {
                 
                 if (unwrap){
-                    OMElement firstElement = ((OMElement)o).getFirstElement();
+                    Node firstElement = ((Node)o).getFirstChild();
                     if (firstElement == null ) {
-                        message.setText(null);
+                        message.setText("");
                     } else {
-                        message.setText(firstElement.toString());
+                        message.setText(domHelper.saveAsString(firstElement));
                     }
                 }else {
-                    message.setText(o.toString());
+                    message.setText(domHelper.saveAsString((Node)o));
                 }
-            } else if ((o instanceof Object[]) && ((Object[]) o)[0] instanceof OMElement) {
+            } else if ((o instanceof Object[]) && ((Object[]) o)[0] instanceof Node) {
                 if (unwrap){
-                    OMElement firstElement = ((OMElement)((Object[]) o)[0]).getFirstElement();
+                    Node firstElement = ((Node)((Object[]) o)[0]).getFirstChild();
                     if (firstElement == null ) {
                         message.setText(null);
                     } else {
-                        message.setText(firstElement.toString());
+                        message.setText(domHelper.saveAsString(firstElement));
                     }
                 }else {
-                    message.setText(((Object[]) o)[0].toString());
+                    message.setText(domHelper.saveAsString((Node)((Object[])o)[0]));
                 }
             } else if (o != null) {
-                throw new IllegalStateException("expecting OMElement payload: " + o);
+                throw new IllegalStateException("expecting Node payload: " + o);
             }
 
             return message;
@@ -163,7 +171,7 @@
             try {
 
                 TextMessage message = session.createTextMessage();
-                message.setText(String.valueOf(((FaultException) o).getFaultInfo()));
+                message.setText(domHelper.saveAsString((Node)((FaultException)o).getFaultInfo()));
                 message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, true);
                 return message;
 
@@ -178,7 +186,7 @@
 
     // handle bytes messages
     
-    public Object extractPayloadFromJMSBytesMessage(Message msg, OMElement wrapper) {
+    public Object extractPayloadFromJMSBytesMessage(Message msg, Node wrapper) {
         
         if (msg instanceof BytesMessage) {        
             try {
@@ -190,9 +198,7 @@
                 ((BytesMessage)msg).reset();
 
                 if ((bytes != null) && (bytes.length > 0)) {
-                    XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new ByteArrayInputStream(bytes));
-                    StAXOMBuilder builder = new StAXOMBuilder(reader);
-                    os = builder.getDocumentElement();
+                    os = domHelper.load(new String(bytes));
                 } else {
                     os = null;
                 }
@@ -200,19 +206,26 @@
                 if (wrapper != null){
                     //don't modify the original wrapper since it will be reused
                     //clone the wrapper
-                    OMElement newWrapper = wrapper.cloneOMElement();
+                    Node node = ((Node)os);
+                    if (node == null) {
+                        node = domHelper.newDocument();
+                    }
+                    Element newWrapper = DOMHelper.createElement((Document)node, new QName(wrapper.getNamespaceURI(), wrapper.getLocalName()));
                     if (os != null){
-                        newWrapper.addChild((OMNode)os);
+                        Node child = node.getFirstChild();
+                        newWrapper.appendChild(child);
                     } 
                     return newWrapper;
                 }
                 
                 return os;
     
-            } catch (XMLStreamException e) {
-                throw new JMSBindingException(e);
             } catch (JMSException e) {
                 throw new JMSBindingException(e);
+            } catch (IOException e) {
+                throw new JMSBindingException(e);
+            } catch (SAXException e) {
+                throw new JMSBindingException(e);
             }
         } else {
             // trap the non-bytes fault case
@@ -227,33 +240,33 @@
             BytesMessage message = session.createBytesMessage();
             
 
-            if (o instanceof OMElement) {
+            if (o instanceof Node) {
                 if (unwrap) {
-                    OMElement firstElement = ((OMElement)o).getFirstElement();
+                    Node firstElement = ((Node)o).getFirstChild();
                     if (firstElement == null ) {
                         //do nothing, the message will just be set with a byte[0]
                     } else {
-                        message.writeBytes(firstElement.toString().getBytes());
+                        message.writeBytes(domHelper.saveAsString(firstElement).getBytes());
                     }
 
                 } else {
-                    message.writeBytes(o.toString().getBytes());                    
+                    message.writeBytes(domHelper.saveAsString((Node)o).getBytes());                    
                 }
 
-            } else if ((o instanceof Object[]) && ((Object[]) o)[0] instanceof OMElement) {
+            } else if ((o instanceof Object[]) && ((Object[]) o)[0] instanceof Node) {
                 if (unwrap){
-                    OMElement firstElement = ((OMElement)((Object[]) o)[0]).getFirstElement();
+                    Node firstElement = ((Node)((Object[]) o)[0]).getFirstChild();
                     if (firstElement == null ) {
                         //do nothing, the message will just be set with a byte[0]
                     } else {
-                        message.writeBytes(firstElement.toString().getBytes());
+                        message.writeBytes(domHelper.saveAsString(firstElement).getBytes());
                     }
 
                 }else {
-                    message.writeBytes(((Object[]) o)[0].toString().getBytes());
+                    message.writeBytes(domHelper.saveAsString((Node)((Object[]) o)[0]).getBytes());
                 }
             } else if (o != null) {
-                throw new IllegalStateException("expecting OMElement payload: " + o);
+                throw new IllegalStateException("expecting Node payload: " + o);
             }
 
             return message;
@@ -274,7 +287,8 @@
             try {
 
                 BytesMessage message = session.createBytesMessage();
-                message.writeBytes(String.valueOf(((FaultException) o).getFaultInfo()).getBytes());
+                String s = domHelper.saveAsString((Node)((FaultException)o).getFaultInfo());
+                message.writeBytes(s.getBytes());
                 message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, true);
                 return message;
 

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLBytesMessageProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLBytesMessageProcessor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLBytesMessageProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLBytesMessageProcessor.java Wed Feb  3 12:07:14 2010
@@ -18,24 +18,22 @@
  */
 package org.apache.tuscany.sca.binding.jms.provider;
 
-import java.io.ByteArrayInputStream;
+import java.io.IOException;
 import java.util.logging.Logger;
 
 import javax.jms.BytesMessage;
 import javax.jms.JMSException;
 import javax.jms.Message;
 import javax.jms.Session;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
 
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.JMSBindingException;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.interfacedef.util.FaultException;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
 
 /**
  * MessageProcessor for sending/receiving XML javax.jms.BytesMessage with the JMSBinding.
@@ -43,8 +41,11 @@
 public class XMLBytesMessageProcessor extends AbstractMessageProcessor {
     private static final Logger logger = Logger.getLogger(XMLBytesMessageProcessor.class.getName());
 
+    private DOMHelper domHelper;
+
     public XMLBytesMessageProcessor(JMSBinding jmsBinding, ExtensionPointRegistry registry) {
         super(jmsBinding);
+        this.domHelper = DOMHelper.getInstance(registry);
     }
 
     @Override
@@ -62,17 +63,17 @@
             
             Object os;
             if (noOfBytes > 0) {
-                XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new ByteArrayInputStream(bytes));
-                StAXOMBuilder builder = new StAXOMBuilder(reader);
-                os = builder.getDocumentElement();
+                os = domHelper.load(new String(bytes));
             } else {
                 os = null;
             }
             return os;
-        } catch (XMLStreamException e) {
-            throw new JMSBindingException(e);
         } catch (JMSException e) {
             throw new JMSBindingException(e);
+        } catch (IOException e) {
+            throw new JMSBindingException(e);
+        } catch (SAXException e) {
+            throw new JMSBindingException(e);
         }
     }
 
@@ -94,12 +95,12 @@
         try {
             BytesMessage message = session.createBytesMessage();
             
-            if (o instanceof OMElement) {
-                message.writeBytes(o.toString().getBytes());
-            } else if ((o instanceof Object[]) && ((Object[])o)[0] instanceof OMElement) {
-                message.writeBytes(((Object[])o)[0].toString().getBytes());
+            if (o instanceof Node) {
+                message.writeBytes(domHelper.saveAsString((Node)o).getBytes());
+            } else if ((o instanceof Object[]) && ((Object[])o)[0] instanceof Node) {
+                message.writeBytes(domHelper.saveAsString((Node)((Object[])o)[0]).getBytes());
             } else if (o != null) {
-                throw new IllegalStateException("expecting OMElement payload: " + o);
+                throw new IllegalStateException("expecting Node payload: " + o);
             }            
             
             return message;
@@ -120,7 +121,7 @@
             try {
 
                 BytesMessage message = session.createBytesMessage();
-                message.writeBytes(String.valueOf(((FaultException) o).getFaultInfo()).getBytes());
+                message.writeBytes(domHelper.saveAsString((Node)((FaultException)o).getFaultInfo()).getBytes());
                 message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, true);
                 return message;
 

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java Wed Feb  3 12:07:14 2010
@@ -97,7 +97,7 @@
             } else if ((o instanceof Object[]) && ((Object[])o)[0] instanceof Node) {
                 message.setText(domHelper.saveAsString((Node)((Object[])o)[0]));
             } else if (o != null) {
-                throw new IllegalStateException("expecting OMElement payload: " + o);
+                throw new IllegalStateException("expecting Node payload: " + o);
             }
 
             return message;

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceInterceptor.java Wed Feb  3 12:07:14 2010
@@ -22,7 +22,6 @@
 import javax.jms.Session;
 import javax.xml.namespace.QName;
 
-import org.apache.axiom.om.OMElement;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.JMSBindingException;
@@ -37,6 +36,7 @@
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+import org.w3c.dom.Node;
 
 
 public class WireFormatJMSBytesXMLReferenceInterceptor implements Interceptor {
@@ -98,8 +98,8 @@
                 try {
                     if (jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) {
                         FaultException e = new FaultException("remote exception", response);
-                        OMElement om = (OMElement) response;
-                        e.setFaultName(new QName(om.getNamespace().getNamespaceURI(), om.getLocalName()));
+                        Node om = ((Node)response).getFirstChild();
+                        e.setFaultName(new QName(om.getNamespaceURI(), om.getLocalName()));
                         msg.setFaultBody(e);
                     }
                 } catch (JMSException e) {

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLReferenceProvider.java Wed Feb  3 12:07:14 2010
@@ -19,7 +19,6 @@
 
 package org.apache.tuscany.sca.binding.jms.wireformat.jmsbytesxml.runtime;
 
-import org.apache.axiom.om.OMElement;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.wireformat.WireFormatJMSBytesXML;
@@ -27,6 +26,7 @@
 import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
 import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.invocation.Interceptor;
 import org.apache.tuscany.sca.invocation.Phase;
@@ -67,7 +67,7 @@
         WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
         BindingWSDLGenerator.generateWSDL(endpointReference.getComponent(), endpointReference.getContract(), wsBinding, registry, null);
         interfaceContract = wsBinding.getBindingInterfaceContract();
-        interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+        interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
     }
         
     public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract){

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytesxml/runtime/WireFormatJMSBytesXMLServiceProvider.java Wed Feb  3 12:07:14 2010
@@ -19,7 +19,6 @@
 
 package org.apache.tuscany.sca.binding.jms.wireformat.jmsbytesxml.runtime;
 
-import org.apache.axiom.om.OMElement;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory;
@@ -28,6 +27,7 @@
 import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
 import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.invocation.Interceptor;
 import org.apache.tuscany.sca.invocation.Phase;
@@ -71,7 +71,7 @@
         WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
         BindingWSDLGenerator.generateWSDL(endpoint.getComponent(), endpoint.getService(), wsBinding, registry, null);
         interfaceContract = wsBinding.getBindingInterfaceContract();
-        interfaceContract.getInterface().resetDataBinding(OMElement.class.getName()); 
+        interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME); 
     }
        
     public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract){

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceInterceptor.java Wed Feb  3 12:07:14 2010
@@ -25,7 +25,6 @@
 import javax.jms.Session;
 import javax.xml.namespace.QName;
 
-import org.apache.axiom.om.OMElement;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.JMSBindingException;
@@ -41,6 +40,7 @@
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+import org.w3c.dom.Node;
 
 /**
  * 
@@ -55,10 +55,10 @@
     private DefaultMessageProcessor requestMessageProcessor;
     private DefaultMessageProcessor responseMessageProcessor;
     private HashMap<String, Boolean> inputWrapperMap;
-    private HashMap<String, OMElement> outputWrapperMap;
+    private HashMap<String, Node> outputWrapperMap;
 
     public WireFormatJMSDefaultReferenceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpointReference endpointReference, HashMap<String, Boolean> inputWrapperMap,
-            HashMap<String, OMElement> outputWrapperMap) {
+            HashMap<String, Node> outputWrapperMap) {
         super();
         this.jmsBinding = (JMSBinding) endpointReference.getBinding();
         this.endpointReference = endpointReference;
@@ -126,7 +126,7 @@
                 msg.setBody(jmsMsg);
             } else {
 
-                OMElement wrapper = null;
+                Node wrapper = null;
                 // if we have a fault no need to wrap the response
                 try {
                     if (!jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) {
@@ -149,8 +149,8 @@
                     try {
                         if (jmsMsg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) {
                             FaultException e = new FaultException("remote exception", response);
-                            OMElement om = (OMElement) response;
-                            e.setFaultName(new QName(om.getNamespace().getNamespaceURI(), om.getLocalName()));
+                            Node om = ((Node)response).getFirstChild();
+                            e.setFaultName(new QName(om.getNamespaceURI(), om.getLocalName()));
                             msg.setFaultBody(e);
                         }
                     } catch (JMSException e) {

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultReferenceProvider.java Wed Feb  3 12:07:14 2010
@@ -22,10 +22,8 @@
 import java.util.HashMap;
 import java.util.List;
 
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.assembly.ComponentReference;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
@@ -33,7 +31,9 @@
 import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
 import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
 import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
 import org.apache.tuscany.sca.interfacedef.DataType;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.interfacedef.Operation;
@@ -42,6 +42,9 @@
 import org.apache.tuscany.sca.invocation.Phase;
 import org.apache.tuscany.sca.provider.WireFormatProvider;
 import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
 /**
  * @version $Rev$ $Date$
@@ -52,8 +55,9 @@
     private ComponentReference reference;
     private JMSBinding binding;
     private InterfaceContract interfaceContract;
+    private DOMHelper domHelper;
     private HashMap<String, Boolean> inputWrapperMap;
-    private HashMap<String, OMElement> outputWrapperMap;
+    private HashMap<String, Node> outputWrapperMap;
 
     public WireFormatJMSDefaultReferenceProvider(ExtensionPointRegistry registry, RuntimeEndpointReference endpointReference) {
         super();
@@ -61,8 +65,9 @@
         this.endpointReference = endpointReference;
         this.binding = (JMSBinding) endpointReference.getBinding();
 
+        this.domHelper = DOMHelper.getInstance(registry);
         this.inputWrapperMap = new HashMap<String, Boolean>();
-        this.outputWrapperMap = new HashMap<String, OMElement>();
+        this.outputWrapperMap = new HashMap<String, Node>();
 
         // configure the reference based on this wire format
 
@@ -87,7 +92,6 @@
         List<Operation> opList = reference.getReference().getInterfaceContract().getInterface().getOperations();
 
         // Go through each operation and add wrapper info
-        OMFactory factory = OMAbstractFactory.getOMFactory();
 
         // set the binding interface contract to represent the WSDL for the
         // xml messages that will be sent
@@ -97,7 +101,7 @@
             WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
             BindingWSDLGenerator.generateWSDL(endpointReference.getComponent(), reference, wsBinding, registry, null);
             interfaceContract = wsBinding.getBindingInterfaceContract();
-            interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+            interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
 
             List<Operation> wsdlOpList = interfaceContract.getInterface().getOperations();
 
@@ -138,9 +142,8 @@
                     ElementInfo ei = op.getWrapper().getOutputWrapperElement();
                     String namespace = ei.getQName().getNamespaceURI();
                     String opName = ei.getQName().getLocalPart();
-                    OMNamespace ns = factory.createOMNamespace(namespace, "ns2");
-                    OMElement wrapper = factory.createOMElement(opName, ns);
-
+                    Document document = domHelper.newDocument();
+                    Element wrapper = DOMHelper.createElement(document, new QName(namespace, opName));
                     this.outputWrapperMap.put(name, wrapper);
                 } 
             }

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceInterceptor.java Wed Feb  3 12:07:14 2010
@@ -24,7 +24,6 @@
 import javax.jms.BytesMessage;
 import javax.jms.Session;
 
-import org.apache.axiom.om.OMElement;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext;
 import org.apache.tuscany.sca.binding.jms.provider.DefaultMessageProcessor;
@@ -37,6 +36,7 @@
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
 import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+import org.w3c.dom.Node;
 
 /**
  * Policy handler to handle PolicySet related to Logging with the QName {http://tuscany.apache.org/xmlns/sca/1.1/impl/java}LoggingPolicy
@@ -50,10 +50,10 @@
     private JMSBinding jmsBinding;
     private DefaultMessageProcessor requestMessageProcessor;
     private DefaultMessageProcessor responseMessageProcessor;
-    private HashMap<String,OMElement> inputWrapperMap;
+    private HashMap<String, Node> inputWrapperMap;
     private HashMap<String, Boolean> outputWrapperMap;
 
-    public WireFormatJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint, HashMap<String, OMElement> inputWrapperMap,
+    public WireFormatJMSDefaultServiceInterceptor(ExtensionPointRegistry registry, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint, HashMap<String, Node> inputWrapperMap,
             HashMap<String, Boolean> outputWrapperMap) {
         super();
         this.jmsBinding = (JMSBinding) endpoint.getBinding();
@@ -112,7 +112,7 @@
         } else {
 
             // If there is only one arg we must add a wrapper if the operation is wrapper style
-            OMElement wrapper = this.inputWrapperMap.get(msg.getOperation().getName());
+            Node wrapper = this.inputWrapperMap.get(msg.getOperation().getName());
 
             Object requestPayload;
             if (jmsMsg instanceof BytesMessage) {

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java?rev=906021&r1=906020&r2=906021&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsdefault/runtime/WireFormatJMSDefaultServiceProvider.java Wed Feb  3 12:07:14 2010
@@ -22,10 +22,8 @@
 import java.util.HashMap;
 import java.util.List;
 
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.assembly.ComponentService;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
@@ -34,7 +32,9 @@
 import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
 import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory;
 import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator;
+import org.apache.tuscany.sca.common.xml.dom.DOMHelper;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
 import org.apache.tuscany.sca.interfacedef.DataType;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.interfacedef.Operation;
@@ -43,6 +43,9 @@
 import org.apache.tuscany.sca.invocation.Phase;
 import org.apache.tuscany.sca.provider.WireFormatProvider;
 import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
 
 /**
  * @version $Rev$ $Date$
@@ -54,17 +57,20 @@
     private JMSBinding binding;
     private JMSResourceFactory jmsResourceFactory;
     private InterfaceContract interfaceContract;
-    private HashMap<String, OMElement> inputWrapperMap;
+    private DOMHelper domHelper;
+    private HashMap<String, Node> inputWrapperMap;
     private HashMap<String, Boolean> outputWrapperMap;
 
     public WireFormatJMSDefaultServiceProvider(ExtensionPointRegistry registry, RuntimeEndpoint endpoint, JMSResourceFactory jmsResourceFactory) {
         super();
+        this.registry = registry;
         this.endpoint = endpoint;
         this.binding = (JMSBinding) endpoint.getBinding();
         this.service = endpoint.getService();
         this.jmsResourceFactory = jmsResourceFactory;
 
-        this.inputWrapperMap = new HashMap<String, OMElement>();
+        this.domHelper = DOMHelper.getInstance(registry);
+        this.inputWrapperMap = new HashMap<String, Node>();
         this.outputWrapperMap = new HashMap<String, Boolean>();
 
         // configure the service based on this wire format
@@ -82,7 +88,6 @@
         List<Operation> opList = service.getService().getInterfaceContract().getInterface().getOperations();
 
         // Go through each operation and add wrapper info
-        OMFactory factory = OMAbstractFactory.getOMFactory();
 
         // set the binding interface contract to represent the WSDL for the
         // xml messages that will be sent
@@ -93,7 +98,7 @@
             WebServiceBinding wsBinding = wsFactory.createWebServiceBinding();
             BindingWSDLGenerator.generateWSDL(endpoint.getComponent(), service, wsBinding, registry, null);
             interfaceContract = wsBinding.getBindingInterfaceContract();
-            interfaceContract.getInterface().resetDataBinding(OMElement.class.getName());
+            interfaceContract.getInterface().resetDataBinding(DOMDataBinding.NAME);
 
             List<Operation> wsdlOpList = interfaceContract.getInterface().getOperations();
 
@@ -122,8 +127,8 @@
                         ElementInfo ei = op.getWrapper().getInputWrapperElement();
                         String namespace = ei.getQName().getNamespaceURI();
                         String opName = ei.getQName().getLocalPart();
-                        OMNamespace ns = factory.createOMNamespace(namespace, "ns1");
-                        OMElement wrapper = factory.createOMElement(opName, ns);
+                        Document document = domHelper.newDocument();
+                        Element wrapper = DOMHelper.createElement(document, new QName(namespace, opName));
                         this.inputWrapperMap.put(name, wrapper);
                     }
                 }