快速业务通道

使用Eclipse BPEL插件开发和执行WS-BPEL V2.0业务流程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
WS-BPEL V2.0业务流程(7) 时间:2011-02-10 IBM Ilya Platonov

要使用生成的文件,请使用类似如下所示的代码:

清单 2. 创建 Web 服务客户机

HelloWorldServiceLocator locator = new HelloWorldServiceLocator(); HelloWorldRequest hwRequest = new HelloWorldRequest(); hwRequest.setInput("developerWorks!"); HelloWorldResponse hwResponse = locator.getHelloWorldPort().process(hwRequest); String output = hwResponse.getResult();

在执行了代码后,输出变量应当包含 BPEL 流程工作的结果。

ODE 管理 API

ODE 通过 Web 服务提供对一些应用程序管理功能的访问。通过使用 ODE,您可以控制部署到 ODE 中的流程及其实例,这些实例目前是在服务器中执行的。所有操作都是在位于 Tomcat 应用程序的文件夹 webapps/ode/WEB-INF 中的 pmapi.wsdl 文件中描述的。不幸的是,pmapi.wsdl 将使用旧 RPC 文档样式,并且,很难通过 Eclipse Web Services Explorer 测试工具使用它。

访问管理 API 的最佳方式是使用 Axis2 库。特别是使用 ServiceClientUtil 类,该类是由 ode-axis2 库提供的。Axis2 将依赖于其他库,包括 Xerces、Stax 等。ode.war 归档中附带了大多数库,因此可以将其添加到项目依赖关系中。

以下代码将演示如何提取当前流程实例的信息。

清单 3. 提取当前流程实例的信息

ServiceClientUtil client = new ServiceClientUtil(); OMElement msg = client.   buildMessage("listAllInstances", new String[] {}, new String[] {}); OMElement result =   client.send(msg, "http://localhost:8080/ode/processes/InstanceManagement"); List>ProcessInfo> processes = new ArrayList>ProcessInfo>(); Iterator>OMElement> i = result.getChildElements(); while (i.hasNext()) {   OMElement omInstanceInfo = i.next();   OMElement omProcessName =    omInstanceInfo.getFirstChildWithName(     new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/",     "process-name"));   OMElement omStatus =    omInstanceInfo.getFirstChildWithName(     new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/",    "status"));   OMElement omStarted =    omInstanceInfo.getFirstChildWithName(     new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/",    "dt-started"));   OMElement omLastActive =    omInstanceInfo.getFirstChildWithName(     new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/",    "dt-last-active"));   ProcessInfo process = new ProcessInfo();   process.setProcessName(omProcessName.getText());   process.setStatus(omStatus.getText());   process.setStarted(omStarted.getText());   process.setLastActive(omLastActive.getText());   processes.add(process);   }

示例将使用 axiom 库来检索信息并把它存储为 ProcessInfo 对象列表。可以从应用程序的任何其他部分使用这些对象。

使用Eclipse BPEL插件开发和执行WS-BPEL V2.0业务流程(8)

时间:2011-02-10 IBM Ilya Platonov

ODE 事件侦听程序

ODE 允许您为 ODE 应用程序内的任何操作(例如启动和停止流程实例)开发侦听程序。要创建您自己的事件侦听程序,需要实现 ode-bpel-api.jar 库中定义的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号