2014-01-17 4 views
3

Может ли кто-нибудь указать мне на статью, учебник или пропустить начало использования ресурсов REST в XPages? Я видел некоторых из них, которые используют службу данных Domino или службу REST Domino, но я хотел бы видеть один из других внешних служб REST, таких как PayPal.Расходуйте службу REST в XPage

Пожалуйста, не направляйте меня в Social Business Toolkit, я посмотрел на него и даже скачал его, но не чувствую, что мне нужно будет установить J2EE и Eclipse, чтобы увидеть демо 12 строк JavaScript.

+5

Рискуя саморекламы, я рекомендовал бы получить копию книги XPages Library Extension; глава 11 полностью посвящена службам REST. Некоторые примеры ссылаются на демо-базу данных, на которую ссылается Лотар, но это довольно тщательное пошаговое руководство по многим вариантам. Еще одна тангенциальная точка: если вы используете Domino, вы установили J2EE; если вы используете Designer, вы установили Eclipse ... просто не мог удержаться от этого. –

+0

Да, понятно, но мое понимание SBT заключалось в том, что вам нужно было снова настроить эту среду, чтобы использовать ее. Я загрузил его и попытался посмотреть образец db, но у меня было около 40 ошибок в Designer, которые я не мог решить. Не знаю, куда идти оттуда, и мой вопрос был, должен ли я должен? У меня есть книга, но я не видел никакой помощи в использовании внешних служб REST. Я снова посмотрю. – John

+0

По общему признанию, недостатком тщательности книги является то, что если вы ищете одну конкретную тему, вы должны найти ее во всем остальном, что покрыто. Если у вас уже есть определенный сервис, который вы хотите потреблять, более подробные сведения о нем, которые вы можете предоставить, тем легче мы можем предоставить ответ, ориентированный на лазер. Начнем с этого: это основанный на XML, JSON-based или оба? И, если оба, которые вы предпочли бы использовать? –

ответ

6

Я знаю, что это немного по факту, но для простого потребления конечной точки RESTful для использования в XPages я недавно писал о том, чтобы сделать это на сервере, боковая сторона. В моей реализации используется класс Java, используемый для генерации вывода через URLConnection и, в конечном счете, StringBuffer для чтения в содержимом, затем анализируйте его в JsonObject для возврата. Я сделал два Folow окна на тему, и вы можете найти их соответственно:

Series page/TOC

  1. REST consumption, server-side with Java
  2. REST consumption with authentication
  3. Генерация Custom JSON data from Java

Мои примеры делают использование Google GSON библиотека, но as pointed out by Paul T. Calhoun, есть пакет com.ibm.commons.util.io.json, который имеет меня с Domino на некоторое время и, вероятно, лучший вариант для разработчиков Domino (без внешних зависимостей и без возможности редактирования java.policy).

Основная структура метода:

/* 
* @param String of the url 
* @return JsonObject containing the data from the REST response. 
* @throws IOException 
* @throws MalformedURLException 
* @throws ParseException 
*/ 
public static JsonObject GetMyRestData(String myUrlStr) throws IOException, MalformedURLException { 
    JsonObject myRestData = new JsonObject(); 
    try{ 

     URL myUrl = new URL(myUrlStr); 
     URLConnection urlCon = myUrl.openConnection(); 
     urlCon.setConnectTimeout(5000); 
     InputStream is = urlCon.getInputStream(); 
     InputStreamReader isR = new InputStreamReader(is); 
     BufferedReader reader = new BufferedReader(isR); 
     StringBuffer buffer = new StringBuffer(); 
     String line = ""; 
     while((line = reader.readLine()) != null){ 
      buffer.append(line); 
     } 
     reader.close(); 
     JsonParser parser = new JsonParser(); 
     myRestData = (JsonObject) parser.parse(buffer.toString()); 

     return myRestData; 

    }catch(MalformedURLException e){ 
     e.printStackTrace(); 
     myRestData.addProperty("error", e.toString()); 
     return myRestData; 
    }catch(IOException e){ 
     e.printStackTrace(); 
     myRestData.addProperty("error", e.toString()); 
     return myRestData; 
    } 
} 
+0

Поскольку мой метод создает файл com.google.gson.JsonObject, если вы не хотите применять тип класса в SSJS, просто измените метод вывода строки, затем выполните команду toJson/JSON.parse строки в SSJS. –

3

Существует множество статей и т. Д. Там. Я в основном придерживаюсь демо-базы данных Xpages ExtLib, доступной из openNTF. Если у вас его нет: просто d/l установка extlib, демо-версия является частью пакета. Говоря о SBT: в зависимости от вашей версии Domino Designer вы уже можете использовать этот инструментарий (например, версия 9). Существует также еще одна демо-версия, доступная с примерами SBT. В целом мне интересно, что вы имеете в виду при установке J2EE/Eclipse

+0

Я запускаю Domino 9, загрузил весь SDB SDT объемом 150 МБ, чтобы получить демо-версию db, и я не могу ее скомпилировать в Domino. Есть ли еще демо-версия? – John

+0

ОК, я скачал и посмотрел демо-версию из ExtLib. Мне кажется, что речь идет об использовании элемента управления REST для публикации службы REST. Это не то, что я ищу, я бы хотел использовать публичный сервис REST. Является ли это недоступным или я не ищу место? – John

+0

У меня сейчас нет демонов, но из того, что я помню, оба содержат примеры для использования данных REST. Помимо этого, я помню, как я читал об использовании REST из Domino/Xpages. Я думаю, что это, должно быть, было в какой-то Wiki, доступной с сайта IBM developerWorks –

Смежные вопросы