Hi Yeah this is ActiveMQ forum so better ask at Camel forum / user mailing list http://camel.apache.org/discussion-forums.html http://camel.apache.org/mailing-lists.html
On Mon, Jun 30, 2014 at 11:11 PM, Ritwick <[email protected]> wrote: > Hi, > I am not sure if this is the correct Camel forum for this issue I am having. > However, I am unable to find an appropriate forum - so I am posting my > question here. It will be great if someone can either guide me to the > correct forum or better still rectify the issue I am facing. > Here is what I need to do - expose a restlet endpoint to accept data; use > this data as input to an external SOAP web service and send back the > response in JSON format back to the caller... > Here is what I have done...however, I am getting the following error while > Camel tries to call the Web Service...can anyone guide me here? Thanks. > > 2014-06-30 14:09:24,987 [tlet-1846031557] WARN PhaseInterceptorChain > - Interceptor for > {http://www.webserviceX.NET/}CurrencyConvertor#{http://www.webserviceX.NET/}ConversionRate > has thrown exception, unwinding now > java.lang.ClassCastException: ClassCastException invoking > http://www.webservicex.net/CurrencyConvertor.asmx: > org.restlet.data.Parameter cannot be cast to java.lang.String > > > public class IntegrationTest extends CamelTestSupport { > > @org.junit.Test > public void integTest() throws Exception { > //trying to simulate the rest service call... > > template.sendBodyAndHeader("restlet:http://localhost:8080/convert/{data}?restletMethods=get", > "Body does not matter here", "data", > "{\"FromCurrency\":\"AUD\",\"ToCurrency\":\"USD\"}"); > > } > > > @Override > protected RouteBuilder createRouteBuilder() throws Exception { > return new RouteBuilder() { > @Override > public void configure() throws Exception { > System.out.println("In Counfigure"); > > String cxfEndpoint = > "cxf://http://www.webservicex.net/CurrencyConvertor.asmx?" > + > "wsdlURL=http://www.webservicex.net/CurrencyConvertor.asmx?wsdl&" > + > "serviceName={http://www.webserviceX.NET/}CurrencyConvertor&" > + > "portName={http://www.webserviceX.NET/}CurrencyConvertorSoap&" > + "dataFormat=MESSAGE"; > > XmlJsonDataFormat xmlJsonFormat = new > XmlJsonDataFormat(); > SoapJaxbDataFormat soap = new > SoapJaxbDataFormat("net.webservicex", new > ServiceInterfaceStrategy(CurrencyConvertorSoap.class, true)); > > GsonDataFormat gson = new > GsonDataFormat(ConversionRate.class); > > gson.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE); > > from("restlet:http://localhost:8080/convert/{data}?restletMethods=get").routeId("Restlet") > .process(new Processor() { > @Override > public void process(Exchange > exchange) throws Exception { > String data = (String) > URLDecoder.decode((String) > exchange.getIn().getHeader("data"), "UTF-8"); > System.out.println(data); > // get the mail body as a > String > > exchange.getIn().setBody(data); > > Response.getCurrent().setStatus(Status.SUCCESS_OK); > } > > }) > .unmarshal(gson) > .marshal(soap) > .log("${body}") > .to(cxfEndpoint) > .unmarshal(soap) > .marshal(xmlJsonFormat); > .log("${body}"); > } > }; > } > } > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Camel-Routes-tp4682675.html > Sent from the ActiveMQ - Dev mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: [email protected] Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/
