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