Java 如何使用Tomee 1.6调用JSON Rest web服务

Java 如何使用Tomee 1.6调用JSON Rest web服务,java,json,web-services,rest,apache-tomee,Java,Json,Web Services,Rest,Apache Tomee,我的应用程序运行在Tomee plus 1.6 JEE服务器上。 我需要调用一个RS WS,它将返回一个格式化为JSon字符串的对象 我可以通过openConnection(“url”)和手动解析响应来实现这一点。但我认为在JEE环境中有一种更高的方法来实现这一点。 问题是,我找到了很多关于如何编写Restful WS的教程,但很少有关于如何调用它们的教程。此外,每次都有几个库要添加到Tomee服务器(Jackson,…) 我的问题是: 是否有任何标准的方法可以在不添加库的情况下为WS开具发票

我的应用程序运行在Tomee plus 1.6 JEE服务器上。 我需要调用一个RS WS,它将返回一个格式化为JSon字符串的对象

我可以通过openConnection(“url”)和手动解析响应来实现这一点。但我认为在JEE环境中有一种更高的方法来实现这一点。 问题是,我找到了很多关于如何编写Restful WS的教程,但很少有关于如何调用它们的教程。此外,每次都有几个库要添加到Tomee服务器(Jackson,…)

我的问题是:

  • 是否有任何标准的方法可以在不添加库的情况下为WS开具发票?我想一定有一个,因为Tomee plus应该是一个完整的JEE服务器
  • 怎么做

谢谢您的帮助。

既然您提到您正在使用TomEE plus 1.6,那么您已经有了可以用来访问REST WS的JAX-RS客户端(参考:)

javax.ws.rs.client
可用于调用REST服务并接收响应。更详细的教程可以在上找到


编辑:缺少版本号部分。API在1.7中提供。

如果您不在第7卷,但仍在第1卷中,则可以使用CXF WebClient来实现这一点。TomEE 7允许您使用标准的JAX-RS 2客户端(EE 7的一部分),但不在TomEE 1(EE 6)中。

现在Java中有很多使用REST应用程序的选项。当前的标准是JAX-RS2.0中发布的JAX-RS客户端API,它是JavaEE7API的一部分

重要提示:一旦您使用了ApacheTomee1.6.0(经JavaEE6认证),JAX-RS客户端API将不适用于您。继续读

JAX-RS客户端API JAX-RS客户端API(包)在中定义并作为JavaEE7API的一部分发布,是使用Java中RESTWeb服务的标准方式。除其他外,本规范由和实现

特定于供应商的代理框架 两者都有,并且还提供了代理框架API。这些API是特定于供应商的,不是JAX-RS客户机API的一部分

基本思想是,您可以附加,然后通过服务器端的资源类实现该接口,同时通过调用正确的低级客户端API方法动态生成该接口的实现,在客户端重用相同的接口

有关更多详细信息,请查看以下内容:

其他资源

这里有一些其他的选项,您可以考虑替代JAX-RS客户端API:



它与Apache TomEE 1.6.0一起提供。在
cxf rt frontend jaxrs.jar
中,您将找到该类,它是客户端API的入口点。

非常感谢您的帮助

最后,我决定使用标准JAX-RS API,但由于它尚未在Tomee 1.6中发布,我不得不在服务器的lib目录中添加一个jar文件: javax.json-1.0.4.jar,我从Oracle网站下载的


为了编译我的项目,我不得不使用另一个jar文件:javax.json-api-1.0.4.jar

如果您使用的是spring,那么就可以使用
RestTemplate
。如果不是,我建议查看HttpClient,然后使用JSON解析器将JSON转换为object。这是不正确的!JAX-RS客户端API是在JAX-RS2.0中发布的,它是JavaEE7API的一部分。ApacheTomee1.6.0是JavaEE6认证的。因此,JAX-RS客户端API在ApacheTomee1.6.0中不可用。有关详细信息,请查看我的。@CássioMazzochiMolin您是对的。我编辑了答案,但没有回答问题。