簡體   English   中英

如何使用Tomee 1.6調用JSON Rest Web服務

[英]How to call a JSON Rest web service with Tomee 1.6

我的應用程序在Tomee plus 1.6 JEE服務器上運行。 我需要調用RS WS,它將返回格式化為JSon字符串的對象。

我可以使用openConnection(“ url”)和手動解析響應來做到這一點。 但是我認為在JEE環境中有一種更高的方法。 問題是我找到了許多有關如何編寫Restful WS的教程,但很少有關於如何調用它們的教程。 此外,每次都有幾個庫要添加到Tomee服務器中(Jackson,...)。

我的問題是:

  • 有什么標准的方法可以調用沒有添加庫的WS? 我認為必須有一個,因為Tomee plus應該是完整的JEE服務器。
  • 怎么做 ?

謝謝你的幫助。

如果您不在第7位上,但仍在第1位上,則可以使用CXF WebClient來完成。 TomEE 7允許您使用標准的JAX-RS 2客戶端(EE 7的一部分),但不在TomEE 1(EE 6)中

如今,有很多選擇可以使用Java中的REST應用程序。 當前標准是JAX-RS 2.0中發布的JAX-RS客戶端API,它是Java EE 7 API的一部分。

重要提示:一旦您使用經過Java EE 6認證的Apache TomEE 1.6.0,JAX-RS客戶端API將不再對您可用。 繼續閱讀。

JAX-RS客戶端API

JSR 339中定義並作為Java EE 7 API的一部分發布的JAX-RS Client API( javax.ws.rs.client軟件包)是在Java中使用REST Web服務的標准方法。 除了其他規范外,該規范還由JerseyRESTEasyApache CXF實現

供應商特定的代理框架

JerseyRESTEasyApache CXF都提供了代理框架API。 這些API是特定於供應商的,不屬於JAX-RS客戶端API的一部分。

基本思想是可以將標准的JAX-RS批注附加到接口 ,然后通過服務器端的資源類來實現該接口,同時通過使用java.lang.reflect.Proxy動態生成該接口的實現來在客戶端重用同一接口。 java.lang.reflect.Proxy調用正確的低級客戶端API方法。

有關更多詳細信息,請檢查以下內容:

其他資源

以下是您可以考慮替代JAX-RS客戶端API的一些其他選項:


Apache CXF WebClient API它與Apache TomEE 1.6.0一起提供。 cxf-rt-frontend-jaxrs.jar您將找到WebClient類,這是客戶端API的入口點。

非常感謝您的幫助。

最終,我決定使用標准的JAX-RS API,但由於它在Tomee 1.6中尚未發布,因此我不得不在服務器的lib目錄中添加一個jar文件:javax.json-1.0.4.jar,該文件我從Oracle網站下載。

要編譯我的項目,我必須使用另一個jar文件:javax.json-api-1.0.4.jar

既然已經提到您正在使用TomEE plus 1.6,那么您已經擁有可用於訪問REST WS的JAX-RS客戶端(參考: Apache TomEE )。

javax.ws.rs.client可以用於調用REST服務並接收響應。 可以在Oracle Site上找到更詳細的教程。

編輯:缺少版本號部分。 該API在1.7中可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM