camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ritwick <ritwick5gh...@gmail.com>
Subject Issue with Camel
Date Mon, 30 Jun 2014 21:33:46 GMT
Hi, 
I am new to Camel and am facing an issue with a route I need to setup. 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://camel.465427.n5.nabble.com/Issue-with-Camel-tp5753081.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message