You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/03/25 13:30:14 UTC
svn commit: r1305007 - in /camel/trunk/components:
camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/
camel-cxf/src/test/java/org/apache/camel/component/cxf/cxfbean/
camel-cxf/src/test/resources/org/apache/camel/component/...
Author: ningjiang
Date: Sun Mar 25 11:30:13 2012
New Revision: 1305007
URL: http://svn.apache.org/viewvc?rev=1305007&view=rev
Log:
CAMEL-5115 CxfBeanDestination should copy the in message header to the out message
Modified:
camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMesssageMapper.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTest.java
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml
Modified: camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMesssageMapper.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMesssageMapper.java?rev=1305007&r1=1305006&r2=1305007&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMesssageMapper.java (original)
+++ camel/trunk/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/common/message/DefaultCxfMesssageMapper.java Sun Mar 25 11:30:13 2012
@@ -80,6 +80,8 @@ public class DefaultCxfMesssageMapper im
}
Map<String, Object> camelHeaders = exchange.getOut().getHeaders();
+ // copy the in message header to out message
+ camelHeaders.putAll(exchange.getIn().getHeaders());
Map<String, List<String>> cxfHeaders =
CastUtils.cast((Map<?, ?>)cxfMessage.get(Message.PROTOCOL_HEADERS));
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTest.java?rev=1305007&r1=1305006&r2=1305007&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/cxfbean/CxfBeanTest.java Sun Mar 25 11:30:13 2012
@@ -26,6 +26,7 @@ import javax.xml.ws.Holder;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.component.cxf.CXFTestSupport;
+import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.wsdl_first.Person;
import org.apache.camel.wsdl_first.PersonService;
import org.apache.http.HttpResponse;
@@ -80,9 +81,21 @@ public class CxfBeanTest extends Abstrac
assertTrue(testedEndpointWithProviders);
}
+ @Test
+ public void testMessageHeadersAfterCxfBeanEndpoint() throws Exception {
+ MockEndpoint endpoint = (MockEndpoint)camelContext.getEndpoint("mock:endpointA");
+ endpoint.reset();
+ invokeRsService("http://localhost:" + PORT1 + "/customerservice/customers/123",
+ "{\"Customer\":{\"id\":123,\"name\":\"John\"}}");
+ endpoint.expectedMessageCount(1);
+ endpoint.expectedHeaderReceived("key", "customer");
+ endpoint.assertIsSatisfied();
+ }
+
private void invokeRsService(String getUrl, String expected) throws Exception {
HttpGet get = new HttpGet(getUrl);
get.addHeader("Accept" , "application/json");
+ get.addHeader("key", "customer");
HttpClient httpclient = new DefaultHttpClient();
try {
Modified: camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml?rev=1305007&r1=1305006&r2=1305007&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml (original)
+++ camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml Sun Mar 25 11:30:13 2012
@@ -75,6 +75,7 @@
<route>
<from ref="ep1" />
<to uri="cxfbean:customerServiceBean" />
+ <to uri="mock:endpointA" />
</route>
<!-- END SNIPPET: routeDefinition -->
<route>