2017-01-18 2 views
0

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

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

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

+0

Вы хотите вызвать событие, написанное в методе Simple или услуге, написанной простым способом? Пожалуйста, дайте мне пример простого метода, который вы хотите вызвать. –

+0

Я хочу вызвать событие, написанное простым методом, из службы, написанной в java – Krishna

ответ

0

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

  1. контекст dispatach объект
  2. контекст карты

мы можем получить диспетчерский объект Contex по

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 параметров service.This параметры сп найти в WebTool> Service Engine> нажмите на SERVICE_NAME

запомнить эту

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

Я хочу вызвать событие из Сервиса. – Krishna

0

Вызов простого метода из 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... 
Смежные вопросы