Author: dkulp
Date: Fri Jul  8 20:04:19 2011
New Revision: 1144471

URL: http://svn.apache.org/viewvc?rev=1144471&view=rev
Log:
Merged revisions 1128970 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk

........
  r1128970 | rickette | 2011-05-29 18:14:20 -0400 (Sun, 29 May 2011) | 1 line
  
  CAMEL-3974: Spring-WS producer now propagates headers. Thanks to Doug 
Douglass for providing a patch, I've polished it a bit.
........

Modified:
    camel/branches/camel-2.7.x/   (props changed)
    
camel/branches/camel-2.7.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
    
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java
    
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ProducerLocalRouteTest-context.xml

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul  8 20:04:19 2011
@@ -1 +1 @@
-/camel/trunk:1083696,1083723-1083724,1084150,1085277,1085543,1085549,1085905,1085909,1086165,1086231,1087005,1087276,1087612,1087620,1087856,1088583,1088916-1088917,1089275,1089348,1090166,1090204,1090564,1090960-1090969,1091082,1091518,1091771,1091799,1092034,1092068,1092577,1092667,1093978,1093980,1093999,1094123,1094147,1094156,1095405,1095469,1095471,1095475-1095476,1096346,1096736,1097761,1097909,1097912,1097978,1098032,1098628,1098630,1099228,1099417,1100975,1102162,1102177,1102181,1104076,1124497,1127744,1127988,1128315,1131411,1134252,1134501,1135223,1135364,1136290,1138285,1139163,1140096-1140102,1141783,1143925,1144248,1144324
+/camel/trunk:1083696,1083723-1083724,1084150,1085277,1085543,1085549,1085905,1085909,1086165,1086231,1087005,1087276,1087612,1087620,1087856,1088583,1088916-1088917,1089275,1089348,1090166,1090204,1090564,1090960-1090969,1091082,1091518,1091771,1091799,1092034,1092068,1092577,1092667,1093978,1093980,1093999,1094123,1094147,1094156,1095405,1095469,1095471,1095475-1095476,1096346,1096736,1097761,1097909,1097912,1097978,1098032,1098628,1098630,1099228,1099417,1100975,1102162,1102177,1102181,1104076,1124497,1127744,1127988,1128315,1128970,1131411,1134252,1134501,1135223,1135364,1136290,1138285,1139163,1140096-1140102,1141783,1143925,1144248,1144324

Propchange: camel/branches/camel-2.7.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java?rev=1144471&r1=1144470&r2=1144471&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
 Fri Jul  8 20:04:19 2011
@@ -25,6 +25,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.impl.DefaultProducer;
+import org.apache.camel.util.ExchangeHelper;
 import org.springframework.ws.WebServiceMessage;
 import org.springframework.ws.client.core.SourceExtractor;
 import org.springframework.ws.client.core.WebServiceMessageCallback;
@@ -57,7 +58,10 @@ public class SpringWebserviceProducer ex
         } else {
             body = 
endpoint.getConfiguration().getWebServiceTemplate().sendSourceAndReceive(sourcePayload,
 callback, SOURCE_EXTRACTOR);
         }
-        exchange.getOut().setBody(body);
+        if (ExchangeHelper.isOutCapable(exchange)) {
+            exchange.getOut().copyFrom(exchange.getIn());
+            exchange.getOut().setBody(body);
+        }
     }
 
     protected class DefaultWebserviceMessageCallback implements 
WebServiceMessageCallback {

Modified: 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java?rev=1144471&r1=1144470&r2=1144471&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java
 Fri Jul  8 20:04:19 2011
@@ -18,8 +18,10 @@ package org.apache.camel.component.sprin
 
 import javax.xml.transform.Source;
 
+import org.apache.camel.EndpointInject;
 import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
+import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.jaxp.StringSource;
 import org.junit.Test;
 import org.springframework.test.context.ContextConfiguration;
@@ -37,6 +39,9 @@ public class ProducerLocalRouteTest exte
     @Produce
     private ProducerTemplate template;
 
+    @EndpointInject(uri = "mock:result")
+    private MockEndpoint resultEndpoint;
+
     @Test()
     public void consumeStockQuoteWebserviceWithDefaultTemplate() throws 
Exception {
         Object result = 
template.requestBody("direct:stockQuoteWebserviceWithDefaultTemplate", 
xmlRequestForGoogleStockQuote);
@@ -46,6 +51,16 @@ public class ProducerLocalRouteTest exte
     }
 
     @Test()
+    public void consumeStockQuoteWebserviceAndPreserveHeaders() throws 
Exception {
+        resultEndpoint.expectedHeaderReceived("helloHeader", "hello world!");
+
+        Object result = 
template.requestBodyAndHeader("direct:stockQuoteWebserviceMock", 
xmlRequestForGoogleStockQuote, "helloHeader", "hello world!");
+
+        assertNotNull(result);
+        resultEndpoint.assertIsSatisfied();
+    }
+
+    @Test()
     public void consumeStockQuoteWebservice() throws Exception {
         Object result = template.requestBody("direct:stockQuoteWebservice", 
xmlRequestForGoogleStockQuote);
 

Modified: 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ProducerLocalRouteTest-context.xml
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ProducerLocalRouteTest-context.xml?rev=1144471&r1=1144470&r2=1144471&view=diff
==============================================================================
--- 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ProducerLocalRouteTest-context.xml
 (original)
+++ 
camel/branches/camel-2.7.x/components/camel-spring-ws/src/test/resources/org/apache/camel/component/spring/ws/ProducerLocalRouteTest-context.xml
 Fri Jul  8 20:04:19 2011
@@ -28,6 +28,13 @@
             <to 
uri="spring-ws:http://localhost?webServiceTemplate=#webServiceTemplate&amp;soapAction=http://www.stockquotes.edu/GetQuote"/>
         </route>
         <route>
+            <from uri="direct:stockQuoteWebserviceMock"/>
+            <pipeline>
+                <to 
uri="spring-ws:http://localhost?webServiceTemplate=#webServiceTemplate&amp;soapAction=http://www.stockquotes.edu/GetQuote"/>
+                <to uri="mock:result" />
+            </pipeline>
+        </route>
+        <route>
             <from uri="direct:stockQuoteWebserviceAsString"/>
             <to 
uri="spring-ws:http://localhost?webServiceTemplate=#webServiceTemplate&amp;soapAction=http://www.stockquotes.edu/GetQuote"/>
             <convertBodyTo type="java.lang.String"/>


Reply via email to