如何为使用Java编写的Ofbiz服务调用事件(简单方法)。
有办法吗? 我在ofbiz中使用rest api来创建Employee,我创建了一个休息包装器,从休息控制器我调用自己的服务,并从那里调用ofbiz服务,但是一些创建过程用简单的方法编写。
如何从Service中调用以简单方法编写的这些事件?
答案 0 :(得分:0)
要调用一个简单的方法,我们应该有两个对象
我们可以通过
获取调度上下文对象GenericDispatcher dispatcher = (GenericDispatcher)request.getAttribute("dispatcher");
DispatchContext dctx = dispatcher.getDispatchContext();
在Java方法/事件中,可以通过
调用任何服务GenericDispatcher dispatcher = (GenericDispatcher) request.getAttribute("dispatcher");
dispatcher.runSync("SERVICE_NAME", context);
context是所需的IN / IN-OUT参数到service的映射。这个参数可以在 webtool>中找到。服务引擎>点击SERVICE_NAME
记住这个
答案 1 :(得分: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...