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