簡體   English   中英

從 XPage 調用 Web 服務使用者

[英]Calling web services consumer from XPages

我有一個 XPage 項目,我需要在其中調用一些 Web 服務來獲取一些信息,如何在我的 java 類中調用或導入 Web 服務使用者。

當您在 XPage 和那個 JVM 中工作時,沒有“現成的”設計元素。

但是,您有很多可能性,因為這是 Java :-)

您可以簡單地使用 URL 對象:

URL url = new URL("http://.....");
InputStream is = url.openStream();

...然后您可以使用 InputStream 從服務中讀取結果。 您如何做到這一點實際上非常依賴於服務。

我在讀取 JSON 的地方調用服務 - 並使用 XPage 附帶的 JSON 對象進行處理,例如:

JsonJavaFactory factory = JsonJavaFactory.instanceEx;
Object jsonObjs;
String url = ConfigurationBean.getCurrentInstance().getUrlWebserviceLakes();
jsonObjs = JsonParser.fromJson(factory, new BufferedReader(new InputStreamReader(new URL(url).openStream())));
for (Iterator<Object> val = factory.iterateArrayValues(jsonObjs); val.hasNext();) {
    JsonJavaObject obj = (JsonJavaObject) val.next();
    Double idNum = (Double) obj.getJsonProperty("id");

或者您可以開始添加其他框架作為 OSGi 插件的有趣且非常強大的路徑,例如Google Gson 如果對 URL 類的內置支持不夠,那么實際上同樣適用於例如Apache HttpComponents HttpClient

如果你想知道如何將現有的 jars 包裝到 OSGi 插件中,那么我已經寫了幾篇關於它的文章;-)

/約翰

暫無
暫無

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

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