Author: ffang
Date: Fri Dec  9 05:11:32 2011
New Revision: 1212248

URL: http://svn.apache.org/viewvc?rev=1212248&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/JmsSoapProviderMarshaler.java

Modified: 
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapProviderMarshaler.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapProviderMarshaler.java?rev=1212248&r1=1212247&r2=1212248&view=diff
==============================================================================
--- 
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapProviderMarshaler.java
 (original)
+++ 
servicemix/components/trunk/bindings/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/JmsSoapProviderMarshaler.java
 Fri Dec  9 05:11:32 2011
@@ -26,7 +26,10 @@ import javax.jbi.messaging.NormalizedMes
 import javax.jms.Message;
 import javax.jms.Session;
 import javax.jms.TextMessage;
+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;
@@ -39,7 +42,8 @@ public class JmsSoapProviderMarshaler im
     private boolean useJbiWrapper = true;
     private Policy[] policies;
     private String baseUrl;
-
+    private SourceTransformer sourceTransformer = new SourceTransformer();
+    
     public Binding<?> getBinding() {
         return binding;
     }
@@ -74,7 +78,11 @@ public class JmsSoapProviderMarshaler im
 
     public Message createMessage(MessageExchange exchange, NormalizedMessage 
in, Session session) throws Exception {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
+        Source source = in.getContent();
+        if (!(source instanceof DOMSource)) {
+            source = sourceTransformer.toDOMSource(source);
+            in.setContent(source);
+        }
         org.apache.servicemix.soap.api.Message msg = binding.createMessage();
         
exchange.setProperty(org.apache.servicemix.soap.api.Message.class.getName(), 
null);
         msg.put(JbiConstants.USE_JBI_WRAPPER, useJbiWrapper);


Reply via email to