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 2006/10/26 17:36:56 UTC

svn commit: r468040 - /incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/client/ServiceMixClientFacade.java

Author: gnodet
Date: Thu Oct 26 08:36:55 2006
New Revision: 468040

URL: http://svn.apache.org/viewvc?view=rev&rev=468040
Log:
SM-723: ServiceMixClientFacade should not call done method in send()

Modified:
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/client/ServiceMixClientFacade.java

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/client/ServiceMixClientFacade.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/client/ServiceMixClientFacade.java?view=diff&rev=468040&r1=468039&r2=468040
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/client/ServiceMixClientFacade.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/client/ServiceMixClientFacade.java Thu Oct 26 08:36:55 2006
@@ -138,7 +138,6 @@
 
     public void send(MessageExchange exchange) throws MessagingException {
         getDeliveryChannel().send(exchange);
-        done(exchange);
     }
         
     public void send(Message message) throws MessagingException {
@@ -199,7 +198,6 @@
      */
     public void fail(MessageExchange exchange, Fault fault) throws MessagingException {
         exchange.setFault(fault);
-        exchange.setStatus(ExchangeStatus.ERROR);
         getDeliveryChannel().send(exchange);
     }
 
@@ -207,10 +205,11 @@
      * A helper method which fails and completes the given exchange with the specified error
      */
     public void fail(MessageExchange exchange, Exception error) throws MessagingException {
-        exchange.setError(error);
         if (error instanceof FaultException) {
             FaultException faultException = (FaultException) error;
             exchange.setFault(faultException.getFault());
+        } else {
+            exchange.setError(error);
         }
         getDeliveryChannel().send(exchange);
     }
@@ -262,7 +261,9 @@
         if (outMessage == null) {
             throw new NoOutMessageAvailableException(exchange);
         }
-        return getMarshaler().unmarshal(exchange, outMessage);
+        Object result = getMarshaler().unmarshal(exchange, outMessage);
+        done(exchange);
+        return result;
     }
 
     public ServiceEndpoint resolveEndpointReference(String uri) {