Author: ffang
Date: Fri Dec  9 06:16:54 2011
New Revision: 1212257

URL: http://svn.apache.org/viewvc?rev=1212257&view=rev
Log:
[SMXCOMP-9191]JMS soap endpoint tests failing

Modified:
    
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapConsumerMarshaler.java

Modified: 
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapConsumerMarshaler.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapConsumerMarshaler.java?rev=1212257&r1=1212256&r2=1212257&view=diff
==============================================================================
--- 
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapConsumerMarshaler.java
 (original)
+++ 
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapConsumerMarshaler.java
 Fri Dec  9 06:16:54 2011
@@ -30,7 +30,10 @@ import javax.jms.Message;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
 
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
 import org.apache.servicemix.soap.api.InterceptorChain;
 import org.apache.servicemix.soap.api.InterceptorProvider.Phase;
 import org.apache.servicemix.soap.api.Policy;
@@ -45,7 +48,7 @@ public class JmsSoapConsumerMarshaler im
     private boolean useJbiWrapper = true;
     private Policy[] policies;
     private boolean rollbackOnError = true;
-
+    private SourceTransformer sourceTransformer = new SourceTransformer();
     /**
      * @return the binding
      */
@@ -115,6 +118,11 @@ public class JmsSoapConsumerMarshaler im
     }
 
     public Message createOut(MessageExchange exchange, NormalizedMessage 
outMsg, Session session, JmsContext context) throws Exception {
+        Source source = outMsg.getContent();
+        if (!(source instanceof DOMSource)) {
+            source = sourceTransformer.toDOMSource(source);
+            outMsg.setContent(source);
+        }
         org.apache.servicemix.soap.api.Message in = ((Context) context).msg;
         org.apache.servicemix.soap.api.Message msg = binding.createMessage(in);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();


Reply via email to