阿帕奇CXFRS和CAMEL配置

我想通过敲击可以在一个REST Web服务来消耗REST结果http://someotherhost网站。 我写了一个代理客户端吧

我想使用Apache CXFRS客户端和结果写入一个文件打上面的REST服务。 为此我做了以下内容,可能任何一个审查下方和评论的事情我做错了。

一)与Apache CXF我的骆驼上下文配置如下图

<jaxrs:client address="http://someotherhost/test/" id="cityServiceClient" username="test" password="pwd" serviceClass="com.santosh.proxy.service.city.CityService"> <jaxrs:features> <ref bean="loggingFeature" /> </jaxrs:features> </jaxrs:client> <camelContext xmlns="http://camel.apache.org/schema/spring"> <package>com.santosh.routes</package> <routeBuilder ref="cityserviceroutebuilder" /> </camelContext>

B)我的代理服务接口

@Path(value="/getCities") public interface CityService { @POST @Produces(value="text/xml") public String getCities(@QueryParam("countrycode") String countryCode); }

c)呼吁服务

CityService cityService = (CityService) context.getBean("cityServiceClient"); cityService.getCities("ae");

D)骆驼路线

public class CityRoutes extends RouteBuilder { public void configure() throws Exception { //ROUTES from("cxfbean:cityServiceClient") .to("file://data/xmls/cities?fileName=test.xml"); } }

--------------解决方案-------------

我得到了解决,基本上我的骆驼上下文配置达不到该商标,

下面的配置解决了我的问题。

<! -- 4 THE ACTUAL SERVER WHICH WILL GET HIT -->
<jaxrs:server id="restService" depends-on="camelContext"
address="http://REALSERVER.COM/REST/" createdFromAPI="true"
staticSubresourceResolution="true">
<jaxrs:serviceBeans>
<ref bean="servicecity" />
</jaxrs:serviceBeans>
</jaxrs:server>

<bean name="servicecity" id="servicecity" class="com.santosh.CityServiceImpl" />

<! -- 3 YOUR PROXY CLIENT -->
<cxf:rsClient id="rsClient" address="http://REALSERVER.COM/REST/"
serviceClass="com.santosh.CityServiceImpl"
username="santosh" password="pwd" />

<! -- 1 JAXRS PROXY CLIENT -->
<jaxrs:client id="cityServiceClient" address="http://localhost:8123/REST/"
serviceClass="com.santosh.CityService" username="santosh" password="pwd">
</jaxrs:client>

<! -- 2 YOUR LOCAL SERVER THAT YOU NEED TO HIT, YOUR LOCAL SERVER -->
<cxf:rsServer id="rsServer" address="http://localhost:8123/REST/" serviceClass="com.santosh.CityServiceImpl" />

这些步骤是

1)建立JAXRS代理客户端,让它在你的代码中有CityService cityService =(CityService)context.getBean(“cityServiceClient”); city​​Service.getCities(“印度”);

2)上面的代码将调用服务器(本地)

3)上述步骤将打电话给你的代理客户端

4)代理客户将调用实际的真实服务器

分类:cxfrs 时间:2012-03-31 人气:0
本文关键词: cxfrs
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.047 (s). 10 q(s)