事实上,我想知道如何在 Webmethods 中的两个进程之间进行通信。
示例->
我在 SAG Designer 上有两个流程:
这是我的第一个过程:
这是我的第二个过程:
它们同时运行,我想获取“StepTwo”的信息
我没有发送或接收消息,我只是希望能够通过另一个进程获取管道。
如果需要更多细节或不够清楚,请告诉我。
谢谢你。
事实上,我想知道如何在 Webmethods 中的两个进程之间进行通信。
示例->
我在 SAG Designer 上有两个流程:
这是我的第一个过程:
这是我的第二个过程:
它们同时运行,我想获取“StepTwo”的信息
我没有发送或接收消息,我只是希望能够通过另一个进程获取管道。
如果需要更多细节或不够清楚,请告诉我。
谢谢你。
一般来说,您可以使用 WmMonitor 包中的服务,您可以使用公共服务提供对流程和步骤管道的访问,例如使用“pub.monitor.process.instanceSteps:getStepPipeline”服务。当然,您必须为此特定步骤打开管道日志记录。
但是,我认为您尝试做的事情没有用。为什么一个进程要访问另一个进程的管道?在不知道您的用例细节的情况下,我认为您应该:
我不建议直接使用另一个流程的管道。根据您的业务需求而非某些技术要求对流程进行建模。这就是 BPM 的用途。
我从未使用过 SoftwareAG 的 BPM 工具,但我对 webMethods 有很多经验。直觉上,我认为这是不可能的。
但是,这里有一个可能的解决方法:
在流程一中,将管道信息序列化为 XML 字符串并将其保存到数据库中。
在过程二中,从数据库中检索信息并将 XML 字符串反序列化为管道文档。
不幸的是,您的问题中没有足够的信息来给出更详细的答案。
希望能帮助到你!
我认为我们可以通过保存 P1 的管道数据并在 P2 中使用它来做到这一点,因为您可以使用内置服务pub.flow:savePipeline和pub.flow:restorePipeline。
请记住,如果您在两者之间重新启动 IS,管道数据将会丢失。如果您仍想重新启动,请将管道数据保存到文件并在重新启动后使用该文件。
请参阅以下服务:- pub.flow:savePipelineToFile 和 pub.flow:restorePipelineFromFile