Apache的骆驼 - 简单的HTTPS谷歌的地方叫 - 春DSL和Java DSL的区别骆驼-HTTP组件?

问题描述:

我试图使用Apache的骆驼(2.10-SNAPSHOT)和春季(3.0.7.RELEASE)和Tomcat(7.0.26)谷歌Places API的集成作为我的Web服务器conainer。Apache的骆驼 - 简单的HTTPS谷歌的地方叫 - 春DSL和Java DSL的区别骆驼-HTTP组件?

当我宣布在Spring配置XML的路线(见下文),我可以看到我的Tomcat日志正确的输出响应。

<route id="google-places-route"> 
     <from uri="direct:start" /> 
     <to uri="https://maps.googleapis.com/maps/api/place/search/json?location=40.446788,-79.950559&amp;radius=500&amp;types=food&amp;sensor=false&amp;key=my-google-api-key" /> 
     <to uri="stream:out"/> 
     </split>   
</route> 

请注意这里使用的骆驼方案HTTPS,而非HTTP。现在

,我试图做同样的定义在扩展RouterBuilder

public class GooglePlacesRoute extends RouteBuilder {

@Override 
public void configure() throws Exception { 

    from("direct:start").process(new MyCustomProcessor()).to("https://maps.googleapis.com/maps/api/place/search/json?location=40.446788,-79.950559&amp;radius=500&amp;types=food&amp;sensor=false&amp;key=my-google-api-key").to("stream:out"); 
} 

}


class MyCustomProcessor implements Processor {

@Override 
public void process(Exchange exchange) throws Exception { 

    exchange.setPattern(ExchangePattern.InOut); 
     Message inMessage = exchange.getIn(); 


    inMessage.setHeader(Exchange.HTTP_METHOD, "GET"); 
    exchange.getIn().setBody("", String.class); 

} 

}

我的骆驼航线部署和正确启动一个Java类,我的路线。然而,当我调用它,我没有得到预期的输出。我收到了Google服务器的以下回复。

{ "html_attributions" : [], "results" : [], "status" : "REQUEST_DENIED" }

我假设我没有做什么特别的事情在我的Java DSL来处理HTTPS(而不是HTTP)。这个假设是否正确?

我在这里错过了什么?

谢谢。

尝试在您的要求使用&代替&amp;

https://maps.googleapis.com/maps/api/place/search/json?location=40.446788,-79.950559&radius=500&types=food&sensor=false&key=my-google-api-key