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 13:42:43 UTC

svn commit: r718944 - in /servicemix/components/bindings/servicemix-jms/trunk/src: main/java/org/apache/servicemix/jms/multiplexing/ test/java/org/apache/servicemix/jms/

Author: gnodet
Date: Wed Nov 19 04:42:43 2008
New Revision: 718944

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

Modified:
    servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java
    servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java
    servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java

Modified: servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java?rev=718944&r1=718943&r2=718944&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java (original)
+++ servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingProviderProcessor.java Wed Nov 19 04:42:43 2008
@@ -35,6 +35,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 {
@@ -95,9 +96,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/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java?rev=718944&r1=718943&r2=718944&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java (original)
+++ servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JMSComponentTest.java Wed Nov 19 04:42:43 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

Modified: servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java?rev=718944&r1=718943&r2=718944&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java (original)
+++ servicemix/components/bindings/servicemix-jms/trunk/src/test/java/org/apache/servicemix/jms/JmsProviderConsumerEndpointTest.java Wed Nov 19 04:42:43 2008
@@ -92,7 +92,9 @@
         result = client.sendSync(inout);
         assertTrue(result);
         assertNotNull(inout.getFault());
-        
+        assertTrue(new SourceTransformer().contentToString(inout.getFault()).indexOf("<fault/>") > 0);
+        client.done(inout);
+
         // Test error return
         container.deactivateComponent("receiver");
         ReturnErrorComponent error = new ReturnErrorComponent(new IllegalArgumentException());