Author: ningjiang
Date: Mon Jan 25 03:00:51 2010
New Revision: 902688

URL: http://svn.apache.org/viewvc?rev=902688&view=rev
Log:
CAMEL-2397 copy the inMessage hears to the outMessage in CxfProducer

Modified:
    
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
    
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerContextTest.java
    
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java

Modified: 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java?rev=902688&r1=902687&r2=902688&view=diff
==============================================================================
--- 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
 (original)
+++ 
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
 Mon Jan 25 03:00:51 2010
@@ -148,6 +148,8 @@
         
         // bind the CXF response to Camel exchange
         if (!boi.getOperationInfo().isOneWay()) {
+            // copy the InMessage header to OutMessage header
+            
camelExchange.getOut().getHeaders().putAll(camelExchange.getIn().getHeaders());
             binding.populateExchangeFromCxfResponse(camelExchange, cxfExchange,
                     responseContext);
         }

Modified: 
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerContextTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerContextTest.java?rev=902688&r1=902687&r2=902688&view=diff
==============================================================================
--- 
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerContextTest.java
 (original)
+++ 
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerContextTest.java
 Mon Jan 25 03:00:51 2010
@@ -73,6 +73,7 @@
                 exchange.getIn().setBody(params);
                 exchange.getIn().setHeader(Client.REQUEST_CONTEXT , 
requestContext);
                 exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, 
ECHO_OPERATION);
+                exchange.getIn().setHeader(Exchange.FILE_NAME, "testFile");
                 exchange.getProperties().put(TEST_KEY, TEST_VALUE);
             }
         });
@@ -91,6 +92,7 @@
                 exchange.getIn().setBody(params);
                 exchange.getIn().setHeader(Client.REQUEST_CONTEXT , 
requestContext);
                 exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, 
GREET_ME_OPERATION);
+                exchange.getIn().setHeader(Exchange.FILE_NAME, "testFile");
             }
         });
         return exchange;

Modified: 
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java?rev=902688&r1=902687&r2=902688&view=diff
==============================================================================
--- 
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java
 (original)
+++ 
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java
 Mon Jan 25 03:00:51 2010
@@ -80,6 +80,10 @@
         assertNotNull(responseContext);
         assertEquals("We should get the response context here", "UTF-8", 
responseContext.get(org.apache.cxf.message.Message.ENCODING));
         assertEquals("reply body on Camel", "echo " + TEST_MESSAGE, result);
+        
+        // check the other camel header copying
+        String fileName = out.getHeader(Exchange.FILE_NAME, String.class);
+        assertEquals("Should get the file name from out message header", 
"testFile", fileName);
 
     }
 
@@ -104,6 +108,10 @@
         assertNotNull(responseContext);
         assertEquals("Get the wrong wsdl opertion name", 
"{http://apache.org/hello_world_soap_http}greetMe";, 
responseContext.get("javax.xml.ws.wsdl.operation").toString());
         assertEquals("reply body on Camel", "Hello " + TEST_MESSAGE, result);
+        
+        // check the other camel header copying
+        String fileName = out.getHeader(Exchange.FILE_NAME, String.class);
+        assertEquals("Should get the file name from out message header", 
"testFile", fileName);
     }
 
     protected String getSimpleEndpointUri() {
@@ -130,6 +138,7 @@
                 params.add(TEST_MESSAGE);
                 exchange.getIn().setBody(params);
                 exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, 
ECHO_OPERATION);
+                exchange.getIn().setHeader(Exchange.FILE_NAME, "testFile");
             }
         });
         return exchange;
@@ -142,6 +151,7 @@
                 params.add(TEST_MESSAGE);
                 exchange.getIn().setBody(params);
                 exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, 
GREET_ME_OPERATION);
+                exchange.getIn().setHeader(Exchange.FILE_NAME, "testFile");
             }
         });
         return exchange;


Reply via email to