Added a warning log when we get the exception from xmlrpc server
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/11559611 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/11559611 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/11559611 Branch: refs/heads/master Commit: 11559611b43cc7e58c5bdfad42935b1c0dece8c8 Parents: 44cad62 Author: Willem Jiang <willem.ji...@gmail.com> Authored: Fri Mar 7 11:16:34 2014 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Fri Mar 7 11:17:53 2014 +0800 ---------------------------------------------------------------------- .../camel/component/xmlrpc/XmlRpcProducer.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/11559611/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcProducer.java b/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcProducer.java index 04be300..1dd2c8b 100644 --- a/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcProducer.java +++ b/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcProducer.java @@ -44,12 +44,17 @@ public class XmlRpcProducer extends DefaultProducer implements AsyncProcessor { LOG.trace("Process exchange: {} in the sync way.", exchange); Message in = exchange.getIn(); String operationName = in.getHeader(XmlRpcConstants.METHOD_NAME, String.class); - //TODO need to use the binding to handle the requests - Object result = client.execute(operationName, in.getBody(List.class)); - //TODO what if the request is one way operation - // copy the in message header to the out message - exchange.getOut().getHeaders().putAll(exchange.getIn().getHeaders()); - exchange.getOut().setBody(result); + try { + //TODO need to use the binding to handle the requests + Object result = client.execute(operationName, in.getBody(List.class)); + //TODO what if the request is one way operation + // copy the in message header to the out message + exchange.getOut().getHeaders().putAll(exchange.getIn().getHeaders()); + exchange.getOut().setBody(result); + } catch (Exception ex) { + LOG.warn("Got an exception {0} when invoke the XMLRPC service", ex); + exchange.setException(ex); + } } public boolean process(Exchange exchange, AsyncCallback callback) {