Hi ,

Can somebody share a sample code for invoking an remote restful service.
I tried it with following code 

start ** 
package org.apache.camel.example.jmstofile;

import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.cxf.CxfConstants;
import org.apache.camel.component.yammer.model.Message;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.DefaultExchange;

import java.net.InetSocketAddress;
import java.net.Socket;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.IOException;



public class TestRest
{
        
    protected CamelContext container = new DefaultCamelContext();
   
    private PrepareRestRequest processor;
    private Exchange exchange;


        public static void main(String[] args) 
        {
                
                
                // TODO Auto-generated method stub
                try
                {
                        
                        
                   TestRest restobj = new TestRest();
                  // System.out.println("before set up");
                   restobj.setUp();
                  
                   //Thread.sleep(10000);
                   //restobj.tearDown();
                 
                }
                catch(Exception e)
                {
                        System.out.println(e.getMessage());
                }
                

        }
         protected void tearDown() throws Exception {
                container.stop();
            }
        
        protected void setUp() throws Exception {
        //container.addRoutes(createRouteBuilder());
        //System.out.println("after set up");
        //container.start();
        
        processor = new PrepareRestRequest();
                exchange = new DefaultExchange(new DefaultCamelContext());
                processor.process(exchange);
                System.out.println(exchange.isFailed());
    }
  
         protected RouteBuilder createRouteBuilder() {
                return new RouteBuilder() {
                    public void configure() {
                       
from("direct:start").to("http://www.thomas-bayer.com/sqlrest/CUSTOMER/18/";).process(new
Processor() {
                            public void process(Exchange e)
                            {
                                //String in = e.getIn().getBody(String.class);
                                // append newline at end to denote end of data 
for
textline codec
                                //e.getOut().setBody("Hello " + in + "\n");
                                System.out.println("we are here" +
e.getExchangeId());
                                
                                
                                
                                
                                
                                
                            }
                        });
                    }
                };
            }
 

    @SuppressWarnings("deprecation")
   private void process()
   {
           CamelContext context = new DefaultCamelContext();
           ProducerTemplate template = context.createProducerTemplate();
       Exchange exchange = template.send("direct://http", new Processor() {
      
                public void process(Exchange exchange) throws Exception {
            exchange.setPattern(ExchangePattern.InOut);
            Message inMessage = (Message)exchange.getIn();
            //setupDestinationURL(inMessage);
            // using the http central client API
            ((org.apache.camel.Message)
inMessage).setHeader(CxfConstants.CAMEL_CXF_RS_USING_HTTP_API,
Boolean.TRUE);
            // set the Http method
            ((org.apache.camel.Message)
inMessage).setHeader(Exchange.HTTP_METHOD, "GET");
            // set the relative path
            ((org.apache.camel.Message)
inMessage).setHeader(Exchange.HTTP_URI,
"http://www.thomas-bayer.com/sqlrest/CUSTOMER/18/";);               
            // Specify the response class , cxfrs will use InputStream as
the response object type
           // ((org.apache.camel.Message)
inMessage).setHeader(CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS,
String.class);
            // set a customer header
            //((org.apache.camel.Message) inMessage).setHeader("key",
"value");
            // since we use the Get method, so we don't need to set the
message body
            //inMessage.setBody(null);               
        }
    });
    
   // System.out.println(exchange.);
    
    
   }
    
    
   



public void process1() 
{


CamelContext context = new DefaultCamelContext();
ProducerTemplate template = context.createProducerTemplate();
Exchange exchange = template.send("direct://proxy", new Processor() {

        public void process(Exchange exchange) throws Exception {
                String dto = exchange.getIn().getBody(String.class);

                exchange.getIn().setBody(null);
                exchange.getIn().getHeaders().clear();

                
exchange.getIn().setHeader(CxfConstants.CAMEL_CXF_RS_USING_HTTP_API,
Boolean.TRUE);
                exchange.getIn().setHeader(Exchange.HTTP_METHOD, "POST");
                exchange.getIn().setHeader(Exchange.ACCEPT_CONTENT_TYPE,
"application/json");
                exchange.getIn().setHeader(Exchange.HTTP_PATH,
String.format("thomas-bayer.com/sqlrest/CUSTOMER/18/", dto));
                
exchange.getIn().setHeader(CxfConstants.CAMEL_CXF_RS_RESPONSE_CLASS,
String.class);     
                System.out.println(dto);
 }
});


}

}




end **

It keeps giving me body as null..How do I retrieve the response of the
restful web service ? 



--
View this message in context: 
http://camel.465427.n5.nabble.com/Invoking-remote-RESTful-services-urgent-tp5740585.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to