Остальные веб-сервисы Openbravo

Я начинаю проект, который состоит в интеграции OpenBravo через Restful WS Layer (может быть, json). Такая интеграция проста в начале, потому что просто состоит из клиента веб-службы для отдыха, который будет выполнять GET, PUT, POST и DELETE действия.

Мой вопрос о том, как управлять объектами json, и если OpenBravo предлагает какой-то способ преобразования объектов json в объекты доступа к данным, чтобы упростить обработку.

Я видел OpenBravo DAL (уровень доступа к данным). Есть ли способ смешать остальные и dal для создания объектов OB?

С уважением,


person Pymoo    schedule 20.06.2013    source источник


Ответы (2)


Вот пример, который может вам помочь... Сначала давайте посмотрим на этот фрагмент кода.

 public class SimpleRestClass extends BaseWebServiceServlet {
   private static final long serialVersionUID = 1L;

   @Override
   public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
     String Name = request.getParameter("Name");
     String Email = request.getParameter("Email");

     List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
     Map<String, Object> map = new HashMap<String, Object>();

     map.put("Name", Name);
     map.put("Email", Email);
     // map.put("Path", request.getPathInfo().toString());

     list.add(map);
     final String json = new DataToJsonConverter().convertToJsonObjects(list).toString();

     // write to the response
    response.setContentType("application/json");
    response.setCharacterEncoding("utf-8");
    final Writer w = response.getWriter();
    w.write(json);
    w.close();

  }

}

In the above code

final String json = new DataToJsonConverter().convertToJsonObjects(list).toString();

это то, что вы ищете. Сигнатура метода convertToJsonObjects():

List<JSONObject> convertToJsonObjects(List<Map<String, Object>> data)

Важный класс в openbravo, который должен заметить REST Json WS, это

import org.openbravo.service.json.DataToJsonConverter

Этот класс имеет гораздо больше методов, связанных с Json. Надеюсь, что это поможет вам.

Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь спрашивать.

person Krishna    schedule 23.09.2013
comment
Спасибо Кришна! это было то, что я искал. - person Pymoo; 13.10.2013
comment
Добро пожаловать @Pymoo! Я счастлив, что смог вам помочь. - person Krishna; 09.01.2014

В Openbravo есть модуль под названием org.openbravo.service.json.

Вышеупомянутый модуль использует уровень JSON и DAL openbravo.

Когда мы делаем запрос на получение продукта, модуль JSON использует DAL для запроса базы данных и преобразования объекта OB в объект JSON.

Когда мы хотим создать новый продукт, модуль JSON использует DAL для создания нового объекта OB.

Основной класс, который вам может понадобиться, чтобы сосредоточиться на стороне openbravo,

  • 1) ДефолтДжсонДатаСервис
  • 2) JsonToDataConverter — преобразует данные json в бизнес-объекты Openbravo.

  • 3) DataToJsonConverter — отвечает за преобразование бизнес-объектов Openbravo в представление json.

Важная ссылка: Openbravo JSON REST

person Velu    schedule 21.06.2013
comment
Спасибо, Вел, я пытаюсь использовать веб-сервисы из стандартного приложения, как я могу получить эти классы в своем проекте, какие банки мне нужно включить? Как лучше справиться с таким проектом? Буду признателен, если вы мне поможете. С уважением! - person Pymoo; 28.06.2013
comment
@Pymoo Вам не нужен jar, так как ваше приложение будет делать HTTP-запрос, а openbravo ответит объектами json. В этом случае ваше стандартное приложение будет действовать как клиент веб-сервиса Openbravo JSON REST. - person Velu; 28.06.2013
comment
Если вы хотите добавить бизнес-логику при создании продукта или заказа на продажу, вам может потребоваться создать модуль расширения поверх Openbravo. - person Velu; 28.06.2013
comment
Да, я понимаю, но извините меня за этот вопрос новичка: как я могу получить доступ к этим классам со стандартным приложением Java без jar-файла? Не могли бы вы написать мне пример? - person Pymoo; 28.06.2013