WebSphere 8.5(Java EE 6)是否以任何方式支持作为另一个RESTFul WebService的客户端的服务(Servlet,EJB,...)?例如。通过管理他们的HTTP连接?
到目前为止,我发现的唯一链接是使用ibm-webservicesclient-bnd.xmi描述符作为另一个JAX-RCP Web服务的客户端的服务的支持:
是否有RESTFul Web服务客户端的客户端描述符,可以从服务中使用?
修改
为了让我更清楚我正在寻找的东西:
目前,我们使用来自 Jersey 的WebResource
,ApacheHttpClient
,ApacheHttpClientHandler
和来自 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网络服务发送请求。
答案 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。