Как назвать событие из Сервиса в Офбиз

Как вызвать Event(простой метод) для сервиса Ofbiz, написанный на Java.

есть ли способ? Я использую api rest для создания сотрудника в ofbiz, я создал оболочку для отдыха и из контроллера rest я вызываю собственные службы, а оттуда вызываю службы ofbiz, но некоторые процессы создания были написаны простыми методами.

Как я могу назвать эти события, которые написаны простыми методами из Сервиса?

2 ответа

Вызов простого метода из службы Java или события

SimpleMethod.runSimpleEvent("Simple method file Location", "methodName", request, response);

Чтобы получить объект запроса и ответа от службы, вы должны передать эти объекты в качестве параметра службы, например

<attribute name="request" mode="IN" type="javax.servlet.http.HttpServletRequest"/>
<attribute name="response" mode="IN" type="javax.servlet.http.HttpServletResponse"/>

// Retrieving Request & Response object from context paramters 
HttpServletRequest request = (HttpServletRequest) context.get("request");
HttpServletResponse response = (HttpServletResponse) context.get("response");

// For this you can refer payPalProcessor service definition...

Для вызова простого метода у нас должно быть два объекта

  1. объект контекста отправки
  2. контекст карты

мы можем получить объект Context для отправки

GenericDispatcher dispatcher = (GenericDispatcher)request.getAttribute("dispatcher");
DispatchContext dctx =  dispatcher.getDispatchContext();

В Java-методе / событии любой сервис может быть вызван

GenericDispatcher dispatcher = (GenericDispatcher) request.getAttribute("dispatcher");
dispatcher.runSync("SERVICE_NAME", context);

контекст - это отображение обязательных параметров IN/IN-OUT для обслуживания. Эти параметры можно найти в webtool > Service Engine > нажмите SERVICE_NAME

помни это

  1. runSync - который запускает службу синхронно и возвращает результат в виде карты.
  2. runSyncIgnore - который запускает службу синхронно и игнорирует результат. Ничего не передается обратно.
  3. runAsync - который запускает службу асинхронно. Опять же, ничего не передается обратно.
Другие вопросы по тегам