Repository: camel
Updated Branches:
  refs/heads/master 024b63603 -> 556201f26


CAMEL-10888 - fixing my code due to code review


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/556201f2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/556201f2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/556201f2

Branch: refs/heads/master
Commit: 556201f26eb3c2636399c47fb9674a2f353fdbb1
Parents: b4fd8bf
Author: onders86 <[email protected]>
Authored: Sat Feb 25 17:57:56 2017 +0300
Committer: Claus Ibsen <[email protected]>
Committed: Sat Feb 25 19:49:25 2017 +0100

----------------------------------------------------------------------
 .../spring/ws/SpringWebserviceConsumer.java     |  2 +-
 .../spring/ws/ConsumerMarshallingRouteTest.java | 47 +++++++++-----------
 .../spring/ws/StockQuoteResponseProcessor.java  |  6 +--
 3 files changed, 26 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/556201f2/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
index 54ac6ff..3398216 100644
--- 
a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
+++ 
b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
@@ -60,7 +60,7 @@ public class SpringWebserviceConsumer extends DefaultConsumer 
implements Message
 
         if (exchange.getException() != null) {
             throw exchange.getException();
-        } else {
+        } else if (exchange.getPattern().isOutCapable()) {
             Message responseMessage = exchange.hasOut() ? 
exchange.getOut(Message.class) : exchange.getIn(Message.class);
             if (responseMessage != null) {
                 Source responseBody = responseMessage.getBody(Source.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/556201f2/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerMarshallingRouteTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerMarshallingRouteTest.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerMarshallingRouteTest.java
index 0413b73..36821ef 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerMarshallingRouteTest.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ConsumerMarshallingRouteTest.java
@@ -57,15 +57,7 @@ public class ConsumerMarshallingRouteTest extends 
CamelTestSupport {
 
     @Test
     public void consumeWebserviceWithPojoRequest() throws Exception {
-        QuoteRequest request = new QuoteRequest();
-        request.setSymbol("GOOG");
-
-        Object result = template.requestBody("direct:webservice-marshall", 
request);
-
-        assertNotNull(result);
-        assertTrue(result instanceof String);
-        String resultMessage = (String) result;
-        assertTrue(resultMessage.contains("Google Inc."));
+        
consumePojoRequestStringResponseWithEnpoint("direct:webservice-marshall");
     }
 
     @Test
@@ -88,23 +80,24 @@ public class ConsumerMarshallingRouteTest extends 
CamelTestSupport {
 
         Object result = 
template.requestBody("direct:webservice-marshall-asinonly", request);
 
-        assertNotNull(result);
-        assertTrue(result instanceof String);
-        String resultMessage = (String) result;
-        assertTrue(resultMessage.contains("Google Inc."));
+        assertNull(result);
     }
-
+    
     @Test
-    public void consumeWebserviceWithPojoRequestAndPojoResponseAsInOnly() 
throws Exception {
+    public void consumeWebserviceWithPojoRequestAsIn() throws Exception {
+        
consumePojoRequestStringResponseWithEnpoint("direct:webservice-marshall-asin");
+    }
+    
+    private void consumePojoRequestStringResponseWithEnpoint(String endpoint) {
         QuoteRequest request = new QuoteRequest();
         request.setSymbol("GOOG");
 
-        Object result = 
template.requestBody("direct:webservice-marshall-unmarshall-asinonly", request);
+        Object result = template.requestBody(endpoint, request);
 
         assertNotNull(result);
-        assertTrue(result instanceof QuoteResponse);
-        QuoteResponse quoteResponse = (QuoteResponse) result;
-        assertEquals("Google Inc.", quoteResponse.getName());
+        assertTrue(result instanceof String);
+        String resultMessage = (String) result;
+        assertTrue(resultMessage.contains("Google Inc."));
     }
 
     @Override
@@ -137,16 +130,20 @@ public class ConsumerMarshallingRouteTest extends 
CamelTestSupport {
                         .marshal(jaxb)
                         
.to("spring-ws:http://localhost/?soapAction=http://www.stockquotes.edu/GetQuoteAsInOnly&webServiceTemplate=#webServiceTemplate";)
                         .convertBodyTo(String.class);
-
+                
+                // provide web service
+                
from("spring-ws:soapaction:http://www.stockquotes.edu/GetQuoteAsInOnly?endpointMapping=#endpointMapping";).setExchangePattern(ExchangePattern.InOnly)
+                                                                               
                                          .process(new 
StockQuoteResponseProcessor());
+                
                 // request webservice
-                from("direct:webservice-marshall-unmarshall-asinonly")
+                from("direct:webservice-marshall-asin")
                         .marshal(jaxb)
-                        
.to("spring-ws:http://localhost/?soapAction=http://www.stockquotes.edu/GetQuoteAsInOnly&webServiceTemplate=#webServiceTemplate";)
-                        .unmarshal(jaxb);
+                        
.to("spring-ws:http://localhost/?soapAction=http://www.stockquotes.edu/GetQuoteAsIn&webServiceTemplate=#webServiceTemplate";)
+                        .convertBodyTo(String.class);
                 
                 // provide web service
-                
from("spring-ws:soapaction:http://www.stockquotes.edu/GetQuoteAsInOnly?endpointMapping=#endpointMapping";).setExchangePattern(ExchangePattern.InOnly).process(
-                        new StockQuoteResponseProcessor());
+                
from("spring-ws:soapaction:http://www.stockquotes.edu/GetQuoteAsIn?endpointMapping=#endpointMapping";).setHeader("setin",
 constant("true"))
+                                                                               
                                          .process(new 
StockQuoteResponseProcessor());                
                 
                 
             }

http://git-wip-us.apache.org/repos/asf/camel/blob/556201f2/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
----------------------------------------------------------------------
diff --git 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
index 011160d..509cf84 100644
--- 
a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
+++ 
b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
@@ -40,10 +40,10 @@ public class StockQuoteResponseProcessor implements 
Processor {
         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
         DocumentBuilder db = dbf.newDocumentBuilder();
         Document doc = db.parse(is);
-        if (exchange.getPattern().isOutCapable()) {
-            exchange.getOut().setBody(doc);
-        } else {
+        if (exchange.getIn().getHeader("setin") != null && 
exchange.getIn().getHeader("setin").equals("true")) {
             exchange.getIn().setBody(doc);
+        } else {
+            exchange.getOut().setBody(doc);
         }
     }
 

Reply via email to