[英]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.