activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Camel Routes
Date Tue, 01 Jul 2014 12:45:14 GMT
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 <ritwick5ghosh@gmail.com> 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: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Mime
View raw message