在从 weblogic WLI 工作流迁移到 BPEL 人工工作流时,我们有什么选项可以让 jcx 文件与数据库交互。任何人请参考任何文件...示例;在我现有的应用程序中,我们从数据库中选择一些值,在 BPEL 中我们将如何实现相同的..
我是BPEL的初学者..
我在其中创建了一个 BPEL 过程和数据适配器,现在我想从我的自定义 java 代码中执行该数据适配器,有没有办法做同样的事情.. 请指导...谢谢
在从 weblogic WLI 工作流迁移到 BPEL 人工工作流时,我们有什么选项可以让 jcx 文件与数据库交互。任何人请参考任何文件...示例;在我现有的应用程序中,我们从数据库中选择一些值,在 BPEL 中我们将如何实现相同的..
我是BPEL的初学者..
我在其中创建了一个 BPEL 过程和数据适配器,现在我想从我的自定义 java 代码中执行该数据适配器,有没有办法做同样的事情.. 请指导...谢谢
您正在使用哪些版本?如果您添加有关设置的更多详细信息,这将很有用。大胆猜测,这里有一些可能对你有帮助的东西:
控件导出为合作伙伴链接。此合作伙伴链接的操作源自控制 JCX 文件中的方法。每个方法参数都被视为一个单独的输入消息部分;零件名称与参数名称相同。输出消息由控制方法的返回类型决定。它有一个称为参数的部分,因为方法只有一个没有名称的返回类型。
http://download.oracle.com/docs/cd/E13214_01/wli/docs85/bpel/export.html#1061022
编辑:
经过一番研究,我了解到您使用的是 WLI 8.x。如果您在导出 JPD 时遇到问题,上面的链接应该会对您有所帮助。
另一种方法是将您的 8.x 项目导入 10g3 项目,然后从那里导出。在这种方法中,您可以生成符合 BPEL2.0 的工作流。警告:这是一次性导入,无法通过早期 WLI 版本访问该项目。所以,试一试。
你问题的第二部分不清楚。从 Java 代码调用控件与调用 Web 服务相同。作为 EJB 调用/转换的 WLIcontrol
被转换为 Web 服务portType
。您可以从您的 Java 应用程序中使用这些 Web 服务(例如,使用 Axis。)
例如:如果我尝试转换 JPD SomeWorkflow.jpd
,并且我的 JPD (WLI 8.x) 有一个控件
/**
* @common:control
*/
private com.appmills.someapp.controls.TestDBCtrl dbctrl;
或者,也可以使用 10g3
@Control()
private com.appmills.someapp.controls.TestDBCtrl dbctrl;
导出创建三个文件SomeWorkflow.bpel
,SomeWorkflow.wsdl
生成SomeWorkflow_ctrl.wsdl
的代码将是:
<plnk:partnerLinkType name="com.appmills.someapp.controls.TestDBCtrl">
<plnk:role name="control">
<plnk:portType name="ctrl:com.appmills.someapp.controls.TestDBCtrlPT"
xmlns:ctrl="http://www.bea.com/workshop/bpel/ctrl"/>
</plnk:role>
</plnk:partnerLinkType>
编辑 2:
为控件生成的 WSDL(在上面的示例SomeWorkflow_ctrl.wsdl
中)不包含<binding>
or<service>
标记。这些都留给你定义。假设您在某处可以使用这些,并且必须简单地将它们连接起来。
您可能知道,Oracle-SOA 中的 JCX 等价物是 JCA。WLI 和 Oracle-SOA 之间没有直接的导出-导入。这意味着根据您当前的代码复杂性和迁移计划,可能会有不同的工作量。
在我看来,JDBC Control
特别是对于 s,最简单的解决方案是将它们重写为Database adapter
s。