You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/11/19 14:34:08 UTC

svn commit: r718956 - in /servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src: main/java/org/apache/servicemix/jms/multiplexing/ test/java/org/apache/servicemix/jms/

Author: gnodet
Date: Wed Nov 19 05:34:08 2008
New Revision: 718956

URL: http://svn.apache.org/viewvc?rev=718956&view=rev
Log:
SM-1679: smx-jms old, non-soap, in/out, provider/consumer endpoints do not pass JBI Faults correctly

Modified:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java?rev=718956&r1=718955&r2=718956&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java Wed Nov 19 05:34:08 2008
@@ -33,6 +33,7 @@
 
 import org.apache.servicemix.jms.AbstractJmsProcessor;
 import org.apache.servicemix.jms.JmsEndpoint;
+import org.apache.servicemix.soap.SoapFault;
 import org.apache.servicemix.soap.marshalers.SoapMessage;
 
 public class MultiplexingProviderProcessor extends AbstractJmsProcessor implements MessageListener {
@@ -93,9 +94,10 @@
                 }
                 try {
                     SoapMessage soap = endpoint.getMarshaler().toSOAP(message);
-                    if (soap.getFault() != null) {
+                    SoapFault soapFault = soap.getFault();
+                    if (soapFault != null) {
                         Fault fault = exchange.createFault();
-                        fault.setContent(soap.getSource());
+                        fault.setContent(soapFault.getDetails());
                         exchange.setFault(fault);
                     } else {
                         NormalizedMessage msg = exchange.createMessage();

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java?rev=718956&r1=718955&r2=718956&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java Wed Nov 19 05:34:08 2008
@@ -22,6 +22,7 @@
 
 import javax.activation.DataHandler;
 import javax.jbi.messaging.ExchangeStatus;
+import javax.jbi.messaging.Fault;
 import javax.jbi.messaging.InOnly;
 import javax.jbi.messaging.InOut;
 import javax.jbi.messaging.NormalizedMessage;
@@ -226,7 +227,9 @@
         inout.getInMessage().setContent(new StringSource("<hello>world</hello>"));
         result = client.sendSync(inout);
         assertTrue(result);
-        assertNotNull(inout.getFault());
+        Fault inoutFault = inout.getFault();
+        assertNotNull(inoutFault);
+        assertTrue(new SourceTransformer().contentToString(inoutFault).indexOf("<fault/>") > 0);
         client.done(inout);
 
         // Test error return