You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/11/27 15:11:25 UTC

svn commit: r598648 - in /activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf: CamelInvoker.java CxfProducer.java

Author: jstrachan
Date: Tue Nov 27 06:11:24 2007
New Revision: 598648

URL: http://svn.apache.org/viewvc?rev=598648&view=rev
Log:
applied patch for http://issues.apache.org/activemq/browse/CAMEL-243

Modified:
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java
    activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java?rev=598648&r1=598647&r2=598648&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java Tue Nov 27 06:11:24 2007
@@ -26,6 +26,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.cxf.invoker.InvokingContext;
 import org.apache.cxf.endpoint.Client;
@@ -143,7 +144,6 @@
         MethodDispatcher md = (MethodDispatcher) 
             exchange.get(Service.class).get(MethodDispatcher.class.getName());
         Method m = md.getMethod(bop);
-        
         List<Object> params = null;
         if (o instanceof List) {
             params = CastUtils.cast((List<?>)o);
@@ -152,7 +152,13 @@
         }
         
         CxfEndpoint endpoint = (CxfEndpoint) cxfConsumer.getEndpoint();
+        
         CxfExchange cxfExchange = endpoint.createExchange(exchange.getInMessage());
+        if (bop.getOperationInfo().isOneWay()) {
+        	cxfExchange.setPattern(ExchangePattern.InOnly);
+        } else {
+        	cxfExchange.setPattern(ExchangePattern.InOut);
+        }
         cxfExchange.getIn().setHeader(CxfConstants.OPERATION_NAME, m.getName());
         cxfExchange.getIn().setBody(params);
         

Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java?rev=598648&r1=598647&r2=598648&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java Tue Nov 27 06:11:24 2007
@@ -147,6 +147,7 @@
     public void process(Exchange exchange) {
         CxfExchange cxfExchange = endpoint.createExchange(exchange);
         process(cxfExchange);
+        exchange.copyFrom(cxfExchange);
     }
 
     public void process(CxfExchange exchange) {