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); } }
