WebSphere 8.5:作为另一个RESTFul WebService的客户端的服务

时间:2014-05-14 13:57:13

标签: java rest websphere java-ee-6 websphere-8

WebSphere 8.5(Java EE 6)是否以任何方式支持作为另一个RESTFul WebService的客户端的服务(Servlet,EJB,...)?例如。通过管理他们的HTTP连接?

到目前为止,我发现的唯一链接是使用ibm-webservicesclient-bnd.xmi描述符作为另一个JAX-RCP Web服务的客户端的服务的支持:

http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Frwbs_assembpropclient.html

http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/twbs_configaddhttppropertiesatk.html

是否有RESTFul Web服务客户端的客户端描述符,可以从服务中使用?

修改

为了让我更清楚我正在寻找的东西:

目前,我们使用来自 Jersey WebResourceApacheHttpClientApacheHttpClientHandler和来自 Apache的HttpClient在服务中创建RESTFul客户端。这是以编程方式完成的,而不是以声明方式完成的,因此WebSphere不了解这些客户端以及它们正在使用的连接/套接字。

我正在寻找一种使用WebSphere管理的资源创建客户端的方法,所以我可以像以下一样做事:

@Resource
private SomeResource someResource;

....

SomeClient client = new SomeClient(someResource);

或类似的东西。它可能是WebSphere特有的。获取资源还有另一种方法,而不是使用@Resource注入资源。

但应该是WebSphere管理和创建最大值。连接数,套接字,超时,池等,应该允许监视这些资源。

当我们想要将消息发送到主题或队列时,我们就像使用JMS一样:

@Resource
private ConnectionFactory connectionFactory;

@Resource
private Topic someTopic;

@Resource
private Queue someQueue;

这次我们想要向另一个RESTFul网络服务发送请求。

1 个答案:

答案 0 :(得分:0)

不幸的是,使用WAS 8.5,你不能。

WAS 8.5(甚至是最新的8.5.5)支持Java EE 6.0和JAX-RS 1.2。 JAX-RS 1.2规范仅从“服务器”的角度处理JAX-RS(即托管RESTful服务),而不是“客户端”的观点。

因此,使用WAS 8.5,您对JAX-RS客户端编程的唯一选择是使用专有API和库,例如您正在使用的API。你当然可以用这样的方式包装这些API,你可以注入连接(可能使用CDI),但它不适合你开箱即用。

WAS 8.5附带一个REST客户端 - Apache Winks。