编程语言
首页 > 编程语言> > 如何从Java程序中获取Ofbiz中的DispatchContext

如何从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