如何从Java程序中获取Ofbiz中的DispatchContext
作者:互联网
我花了最后几个小时试图在“Apache Ofbiz Cookbook”和“Apache Ofbiz开发:初学者教程”中找到答案如何从Java方法获取Ofbiz中的DispatchContext. Ruth Hoffman的Cookbook不包括她刚刚说的“准备任何上下文参数”的代码p.43.我可以理解你在注册服务或事件时如何获得DispatchContext但是如何从Java中获取它?谢谢.
我正在尝试从Tomcat中的REST Web服务的服务器端填充我在Ofbiz中定义的Ofbiz实体/表.
GenericDelegator delegator = ctx.getDelegator();
GenericValue myTable = delegator.makeValue("MyTable");
myTable.set("name", myTableAsJson.getString("name"));
try {
delegator.store(offering);
} catch(Exception e) {
}
解决方法:
在Java方法/事件中,可以使用以下代码片段获取dispatach上下文:
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参数到服务的映射.
要从Java方法/事件调用服务,不需要paas dispatch context.只需要服务名称和上下文.
标签:java,ofbiz 来源: https://codeday.me/bug/20190901/1786776.html