我的应用程序在 Tomee plus 1.6 JEE服务器上运行。 我需要调用一个RS WS,它将返回一个格式化为JSon字符串的对象。
我可以使用 openConnection(" url"),以及手动解析响应。但我认为在JEE环境中有更高的方法可以做到这一点。 问题是我找到了许多关于如何编写Restful WS的教程,但很少有关于如何调用它们的教程。此外,每次都有几个库可以添加到Tomee服务器(Jackson,...)。
我的问题是:
感谢您的帮助。
答案 0 :(得分:0)
如果你没有参加比赛,但仍然可以使用CXF WebClient来做到这一点。 TomEE 7允许您使用标准JAX-RS 2客户端(EE 7的一部分)但不在TomEE 1(EE 6)中
答案 1 :(得分:0)
现在有很多选择在Java中使用REST应用程序。当前的标准是JAX-RS客户端API,它是在JAX-RS 2.0中发布的,它是Java EE 7 API的一部分。
重要事项:一旦您使用经过Java EE 6认证的Apache TomEE 1.6.0,您将无法使用JAX-RS客户端API。继续阅读。
JAX-RS客户端API(javax.ws.rs.client
包)在JSR 339中定义并作为Java EE 7 API的一部分发布,是在Java中使用REST Web服务的标准方法。除此之外,此规范由Jersey,RESTEasy和Apache CXF实施。
Jersey,RESTEasy和Apache CXF都提供了代理框架API。这些API是特定于供应商的,不属于JAX-RS客户端API。
基本思想是你可以附加standard JAX-RS annotations to an interface,然后通过服务器端的资源类实现该接口,同时通过使用{{3动态生成该实现,在客户端重用相同的接口调用正确的低级客户端API方法。
有关详细信息,请查看以下内容:
以下是您可以考虑替代JAX-RS客户端API的其他一些选项:
† Netflix Feign:它随Apache TomEE 1.6.0一起提供。在cxf-rt-frontend-jaxrs.jar
中,您将找到Apache CXF WebClient API类,它是客户端API的入口点。
答案 2 :(得分:0)
非常感谢你的帮助。
最后,我决定使用标准的JAX-RS API,但由于它尚未在Tomee 1.6中发布,我不得不在服务器的lib目录中添加一个jar文件: javax.json-1.0.4.jar,我从Oracle网站下载。
要编译我的项目,我不得不使用另一个jar文件:javax.json-api-1.0.4.jar
答案 3 :(得分:-2)
由于您已经提到过使用TomEE plus 1.6,因此您已经拥有可用于访问REST WS的JAX-RS客户端(Ref:Apache TomEE)。
javax.ws.rs.client
可用于调用REST服务并接收响应。更详细的教程可以在Oracle Site找到。
编辑:错过了版本号部分。该API在1.7中提供。