本教程讲述了如何使用 Oracle JDeveloper 10g BPEL Designer 调用 United Loan、Star Loan 和 Credit Rating 等 Web 服务。 本教程使用 JDeveloper 创建一个名为 MyLoanProcess 的 BPEL 流程。
大约 1 个小时
本教程包括下列主题:
| 概述 | ||
| 情景 | ||
| 前提条件 | ||
| 创建一个新的 BPEL 项目和 BPEL Process Manager 连接 | ||
| 添加新的流程变量 | ||
| 设计贷款流流程 | ||
| 部署和测试贷款流流程 | ||
| 总结 | ||
| 相关信息 | ||
将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以根据 Internet 连接的不同,响应时间可能会比较慢。)
注意:此外,还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
本教程演示了如何使用 Oracle JDeveloper 10g BPEL Designer 设计贷款流 BPEL 流程。 MyLoanProcess 通过与客户贷款申请同步调用 CreditRatingService 执行信用检查。 然后由下面两个 Web 服务异步处理与信用等级一起(从 CreditRatingService)返回的贷款申请:
| UnitedLoan Web 服务 | ||
| StarLoan Web 服务 | ||
同步调用 CreditRatingService 流程之后,首先使用一个信用评级值修改客户提供的贷款申请文档。 修改后的贷款文档由 UnitedLoan 和 StarLoan Web 服务并行处理。 每个贷款提供商 Web 服务都会返回一个贷款意向,即接受贷款申请的文档或由客户进行处理。
开始本教程之前,您应该:
| 1. |
将 Oracle JDeveloper BPEL Designer 和 Oracle BPEL PM 服务器安装到名为 D:\JDeveloper\JDevBPEL 的目录。
|
| 2. |
按照下列方式启动 Oracle BPEL PM 服务器: |
| 3. |
双击 BPEL Designer 桌面图标,启动 Oracle JDeveloper 10g BPEL Designer:
注意:您可以选择开始 > 程序 > Oracle - OracleBPM > Oracle BPEL Process Manager 10.1.2 > BPEL Designer 来启动 Oracle JDeveloper 10g BPEL Designer。 |
| 4. |
通过在命令窗口中输入下列命令,将 CreditRatingService、StarLoan 和 UnitedLoan Web 服务部署到 Oracle BPEL PM 服务器中: D: cd \JDeveloper\JDevBPEL\integration\bpm\orabpel\samples\demos\LoanDemo obant 注意:通过执行 LoanDemo 目录中的 obant 脚本可部署名为 LoanFlow 的 BPEL 流程。 但为避免与本教程中创建的 MyLoanProcess BPEL 流程混淆,已从 BPEL 服务器删除了该 LoanFlow BPEL 流程。 |
| 5. | 要验证是否已部署 CreditRatingService、StarLoan 和 UnitedLoan 等 Web 服务,选择开始 > 程序 > Oracle - OracleBPM > Oracle BPEL Process Manager 10.1.2 > BPEL Console。 BPEL Console 在 Dashboard 页面的 Deployed BPEL Process 列中显示了这些 Web 服务的名称: |
| 6. |
右键单击该 LoanFlow.xsd 链接下载该链接并将该链接或目标保存到名为 C:\Hands_on_Labs\bpel_jdev\support_files 的目录或者您选择的临时目录中的一个文件。
|
要创建一个新的 BPEL 项目,执行下列步骤:
| 1. |
在 Oracle JDeveloper 10g BPEL Designer 菜单中,选择 File > New: |
||||||||||||
| 2. |
在 New Gallery 中,单击 General 类别,然后选择 Workspace 项。 单击 OK。 |
||||||||||||
| 3. |
在 Create Workspace 对话框中,应用下列域值:
单击 OK。 |
||||||||||||
| 4. |
新工作区 MyLoanProcessWS 出现在 JDeveloper Applications - Navigator 窗格中的 Applications 文件夹下。 按 [Ctrl] + [S] 保存该新工作区: 注意:您可以选择 File > Save 保存选择的文件,还可以选择 File > Save All 保存对该项目中所有文件所做的更改。 |
||||||||||||
| 5. |
要创建一个新的 BPEL 项目,右键单击 Applications - Navigator 中的 MyLoanProcessWS,然后选择 New Project: |
||||||||||||
| 6. |
在 New Gallery 窗口中,单击 General 下面的 Projects,然后选择 BPEL Process Project 项: 单击 OK。 |
||||||||||||
| 7. |
在 BPEL Process Project 对话框中,输入下列值:
单击 OK。 |
||||||||||||
| 8. |
在 Navigator 中,会创建下面三个文件:
JDeveloper 自动在 Diagram View 页面中打开 MyLoanProcess.bpel。 选择 File > Save All 保存这些新项目文件。 |
||||||||||||
| 9. |
MyLoanProcess.bpel 最初的 BPEL 流程活动显示在 Diagram View 页面中: 注意:Diagram View 页面用于直观地创建和编辑该 BPEL 流程。 |
||||||||||||
| 10. |
要在 Structure 窗格中查看 MyLoanProcess.bpel 的 BPEL 结构,单击 Diagram View 选项卡。 要将 XML Schema 文档导入该 BPEL 项目目录,选择 Structure 窗格中的 Project Schemas: 单击 Import。
|
||||||||||||
| 11. |
在 Open 窗口中,使用 Location 域导航到 C:\Hands_on_Labs\bpel_jdev\support_files 目录(或者您将文件下载的临时目录)。 选择 LoanFlow.xsd: 选择 Open。 |
||||||||||||
| 12. |
在 Copy Schema 消息窗口中,单击 Yes 将该模式复制到该项目目录: |
||||||||||||
| 13. |
在 Applications - Navigator 窗格中,展开 Miscellaneous Files 节点,可看到 LoanFlow.xsd 文件成为了该项目中的一个文件: 在该 BPEL 流程的 Diagram View 窗口单击可看到 LoanFlow.xsd 条目位于 Structure 窗口中 Project Schemas 节点下。 该 XML 模式文件提供 loanApplication 和 loanOffer 类型的定义,这两个类型分别用于定义该 BPEL 流程的输入和响应文档的结构。 选择 File > Save All 保存对该项目和工作区所做的更改。
|
||||||||||||
| 14. |
双击 Applications - Navigator 中的 MyLoanProcess.bpel: 单击工具栏中的 Message Types 图标 |
||||||||||||
| 15. |
要设置贷款请求的消息类型,在 Message Types 窗口中选择 MyLoanProcessRequestMessage。 单击 Edit。 |
||||||||||||
| 16. |
在 Edit Message Type 窗口中,选择 payload: 单击 Edit。 |
||||||||||||
| 17. |
在 Edit Message Part - payload 窗口中,选择 Element: 单击 Browse Elements |
||||||||||||
| 18. |
在 Type Chooser 窗口中,展开 Project Schema Files,然后展开 LoanFlow.xsd,然后选择 loanApplication: 单击 OK。 |
||||||||||||
| 19. |
在 Edit Message Part - payload 窗口中,单击 OK: |
||||||||||||
| 20. |
在 Edit Message Type 窗口中,单击 OK: |
||||||||||||
| 21. |
要设置该 BPEL 流程的响应消息类型,在 Message Types 窗口中选择 MyLoanProcessResponseMessage: 单击 Edit。 |
||||||||||||
| 22. |
在响应消息的 Edit Message Type 窗口中,选择 payload: 单击 Edit。 |
||||||||||||
| 23. |
在 Edit Message Part - payload 窗口中,选择 Element: 单击 Browse Elements
|
||||||||||||
| 24. |
在 Type Chooser 窗口中,展开 Project Schema Files,然后展开 LoanFlow.xsd,然后选择 loanOffer: 单击 OK。 |
||||||||||||
| 25. |
要关闭 Edit Message Part - payload 窗口,单击 OK。 在 Edit Message Type 窗口中,单击 OK。 在 Message Type 窗口中,单击 Close: |
||||||||||||
| 26. |
要创建与 BPEL Process Manager 的连接,选择 View > Connection Navigator: 注意:Applications - Navigator 选项卡替换为了 Connections - Navigator 选项卡。
|
||||||||||||
| 27. |
右键单击 BPEL Process Manager Server 节点,然后从上下文菜单中选择 New BPEL Process Manager Server Connection : |
||||||||||||
| 28. |
在 Create BPEL Process Manager Server Connection - Welcome 页面中,仔细查看 Welcome 页面中的信息: 单击 Next。 |
||||||||||||
| 29. |
在 Create BPEL Process Manager Server Connection - Step 1 of 3: Name 窗口的 BPEL Process Manager Connection Name 域中,输入 BPEL_conn: 单击 Next。 |
||||||||||||
| 30. |
在 Create BPEL Process Manager Server Connection - Step 2 of 3: Connection 窗口中,接受 User Name、Host Name 和 Port Number 等域的默认值。 在 Password 域中输入 welcome: 注意: 在 Password 域中输入的字符显示为星号 (*)。 单击 Next。 |
||||||||||||
| 31. |
在 Create BPEL Process Manager Server Connection - Step 3 of 3: Test Connection 窗口中,单击 Test Connection: |
||||||||||||
| 32. |
等待文本 Success 出现在 Status 域中: 单击 Finish。 |
||||||||||||
| 33. |
新的 BPEL_conn 即被添加到 Connections - Navigator 窗格 BPEL Process Manager Server 节点下: 单击 Application 选项卡切换到 Applications - Navigator,查看 MyLoanProcess BPEL 项目文件。 |
||||||||||||
要为该 BPEL 流程调用的每个 Web 服务创建合作伙伴链接,执行以下步骤:
| 1. |
让 MyLoanProcess.bpel 显示在 Diagram View 中,从 Component Palette 列表中选择 Process Activities:
|
|||||||||
| 2. |
要为 CreditRatingService Web 服务创建合作伙伴链接,将 PartnerLink 对象从 Component Palette 拖至 BPEL 流程活动右侧的 Partner Links 区域: |
|||||||||
| 3. |
在 Create Partner Link 窗口中,单击 WSIL Browser 图标
|
|||||||||
| 4. |
在 WSDL Chooser 窗口下的 WSIL Explorer 节点中,展开 BPEL_conn、process 和 default 等节点。 选择 CreditRatingService: 单击 OK。 |
|||||||||
| 5. |
在 Create Partner Link 窗口中,WSDL File 和 Partner Link Type 域使用您在 WSDL Chooser 中的选择进行填充。 输入或选择下列域值:
creditRatingService 合作伙伴链接框出现在 Diagram View 中该 BPEL 流程右侧的 Partner Links 区域: |
|||||||||
| 6. |
要为 UnitedLoan Web 服务创建合作伙伴链接,请将 PartnerLink 对象从 Component Palette 拖至 BPEL 流程活动右侧的 Partner Links 区域: |
|||||||||
| 7. |
在 Create Partner Link 窗口中,单击 WSIL Browser 图标 单击 OK。 |
|||||||||
| 8. |
在 UnitedLoan Web 服务的 Create Partner Link 窗口中,输入或选择下列域值:
单击 OK。 unitedLoanService 合作伙伴链接框被添加到 Diagram View 中该 BPEL 流程右侧的 Partner Links 区域: |
|||||||||
| 9. |
要为 StarLoan Web 服务创建合作伙伴链接,将 PartnerLink 对象从 Component Palette 拖至右侧的 Partner Links 区域:
|
|||||||||
| 10. |
在 Create Partner Link 窗口中,单击 WSIL Browser 图标 单击 OK。 |
|||||||||
| 11. |
在 StarLoan Web 服务的 Create Partner Link 窗口中,输入或选择下列域值:
单击 OK。 starLoanService 合作伙伴链接框被添加到 Diagram View 中该 BPEL 流程右侧的 Partner Links 区域: 选择 File > Save All 保存对这些项目文件所做的更改。 |
|||||||||
要为 MyLoanProcess BPEL 流程中的活动创建变量,执行以下步骤:
| 1. |
在 MyLoanProcess.bpel - Structure 窗格中,展开 Variables 节点、Process 子节点以及它的 Variables 子节点,查看定义为 inputVariable 和 outputVariable 的两个变量: |
| 2. |
要为 CreditRatingService 创建输入变量,在 Structure 窗格中,选择 Process 子节点下的 Variables。 然后单击 Create: |
| 3. |
在 Create Variable 窗口的 Name 域中,输入 crInput,选择 Message Type,然后单击 Browse Message Types 图标 |
| 4. |
在 Type Chooser 窗口中,展开 Message Types、Partner Links、creditRatingService、CreditRatingService 和 Message Types。 选择 CreditRatingServiceRequestMessage。 单击 Ok。
|
| 5. |
在 Create Variable 窗口中,单击 OK: crInput 变量出现在 Structure 窗格中的 BPEL 流程变量列表中。 |
| 6. |
为 CreditRatingService 创建输出变量,然后在 Structure 窗格中,选择 Process 子节点下的 Variables。单击 Create。 在 Create Variable 窗口的 Name 域中输入 crOutput。 选择 Message Type,其值为从 CreditRatingService,Message Types 节点选择的 CreditRatingServiceResponseMessage: 单击 OK。
|
| 7. |
为 CreditRatingService 创建一个错误变量,选择 Variables,然后单击 Create。 在 Create Variable 窗口的 Name 域中输入 crError。 选择 Message Type,其值为从 CreditRatingService,Message Types 树选择的 CreditRatingServiceFaultMessage: 单击 OK。 选择 File > Save All 保存对这些项目文件所做的更改。 |
| 8. |
为 UnitedLoan 和 StarLoan Web 服务创建贷款申请输入变量,选择 Variables,然后单击 Create。 在 Create Variable 窗口的 Name 域中输入 loanApplication。 选择 Message Type,其值为从 UnitedLoanService,Message Types 树选择的 LoanServiceRequestMessage: 单击 OK。 |
| 9. |
为 UnitedLoan Web 服务创建一个错误变量,选择 Variables,然后单击 Create。 在 Create Variable 窗口的 Name 域中输入 unitedOffer。 选择 Message Type,其值为从 UnitedLoanService,Message Types 树选择的 LoanServiceResultMessage: 单击 OK。 |
| 10. |
为 StarLoan Web 服务创建贷款意向输出变量,选择 Variables,然后单击 Create。 在 Create Variable 窗口的 Name 域中输入 starOffer。 选择 Message Type,其值为从 StarLoanService,Message Types 树选择的 LoanServiceResultMessage: 单击 OK。 选择 File > Save All 保存对这些项目文件所做的更改。 |
| 11. |
在 MyLoanProcess.bpel 的 Structure 窗格中,验证在 BPEL Structure > Variables > Process > Variables 节点下是否定义了八个流程变量(如附带的屏幕截图所示):
|
在创建该 BPEL 流程期间,您应该定期保存对 MyLoanProcess.bpel 文件和项目所做的更改。 每完成一个新 BPEL 活动的所有步骤都要选择 File > Save All 保存所做的更改。
本节包括下列子主题:
| 调用同步的 CreditRatingService Web 服务 | ||
| 为 CreditRatingService 添加一个错误处理器 | ||
| 并行调用异步的 UnitedLoan 和 StarLoan Web 服务 | ||
要设计同步调用 CreditRatingService Web 服务的贷款流流程活动,执行下列步骤:
| 1. |
在 JDeveloper Diagram View 中,将 Scope 从 Component Palette 拖至 receiveInput 和 callbackClient 活动之间的区域: |
|||||||||||||||||||||
| 2. |
要命名新的 Scope,双击 Diagram View 中的 Scope_1。 在 Scope 对话框的 General 页面中,在 Name 域中输入值 GetCreditRating: 单击 OK。 |
|||||||||||||||||||||
| 3. |
要展开,单击 GetCreditRating 范围的 |
|||||||||||||||||||||
| 4. |
在 Diagram View 中,将 Assign 活动从 Component Palette 拖至 GetCreditRating 范围中标记为 Drop Activity Here 的区域: |
|||||||||||||||||||||
|
5. |
接下来,创建一个复制规则,使得 SSN 值从 inputVariable 进入 crInput 变量,以传递给 CreditRatingService。 为此,双击 Assign_1 活动,显示 Assign 属性: 单击 Copy 页面上的 Create。 |
|||||||||||||||||||||
|
6. |
在 Create Copy Rule 窗口中,单击 From 部分 Variable 域右侧的 Browser Variables 图标 |
|||||||||||||||||||||
| 7. |
在 Variable Chooser 窗口中,选择 inputVariable: 单击 OK。 |
|||||||||||||||||||||
| 8. |
在 Create Copy Rule 窗口中,选择 Part 域中的 payload: |
|||||||||||||||||||||
| 9. |
单击 Create Copy Rule 窗口 From 部分中的 XPath Query 域。 使用 XPath Building Assistant 输入 XML 路径 /ns1:loanApplication/ns1:SSN。 然后按 [Ctrl]+[Space] 调用 XPath Building Assistant 并显示 inputVariable XML 模式类型的根元素: 双击 /ns1:loanApplication 元素。 |
|||||||||||||||||||||
| 10. |
XPath Building Assistant 自动显示 /ns1:loanApplication 中的子元素: 双击 ns1:SSN 填充 XPath Query 域。 From 部分中的域应该包含下列值:
|
|||||||||||||||||||||
| 11. |
使用与前面五个步骤中相同的方法,填充 Create Copy Rule 的 To 部分,使其包含下列域值:
单击 OK 保存复制规则设置。 |
|||||||||||||||||||||
| 12. |
检查 Assign 属性部分中的新复制规则的详细信息: 注意:在您单击 Apply 或 OK 之前,Invalid Settings 错误消息没有意义。 如果输入的详细信息有效,则清除错误消息。 单击 OK。 |
|||||||||||||||||||||
| 13. |
将 Invoke 活动从 Component Palette 拖至 GetCreditRating Scope,Assign_1 活动之后: |
|||||||||||||||||||||
| 14. |
要启用 Invoke 活动以启动 CreditRatingService,双击 Invoke_1 活动,在 General 页面中设置下列属性值:
可以从 Variable Chooser 窗口中选择值来设置输入和输出变量域。(单击 Browse Variables 图标
单击 OK。
|
|||||||||||||||||||||
| 15. |
将另一个 Assign 活动从 Component Palette 拖至 GetCreditRating Scope,invokeCR 活动之后: |
|||||||||||||||||||||
| 16. |
双击 Assign_2 活动。 要添加复制规则,单击 Copy 页面上的 Create。 在 Create Copy Rule 窗口的 From 部分,输入下列域值:
在 XPath Query 域中按 [Ctrl]+[Space],以使用 XPath Building Assistant。 在 To 部分,输入下列域值:
单击 OK 关闭 Create Copy Rule 窗口。 确保将复制规则添加到了 Assign 属性中。 单击 OK 关闭 Assign 属性。 选择 File > Save All 保存对该 BPEL 项目所做的更改。 |
|||||||||||||||||||||
要添加处理 CreditRatingService Web 服务所返回错误的流程活动,并终止该 BPEL 流程,执行下列步骤:
| 1. |
您要添加一个处理以起始为零的 SSN 值调用 CreditRatingService 时所生成 NegativeCredit 错误的错误处理器。 为此,首先单击 GetCreditRating 范围上的 Add Catch Branch 图标 |
|||||||||||||||||||||
| 2. |
双击 Add Catch 分支中的 |
|||||||||||||||||||||
| 3. |
在 General 页面上,设置 Catch 属性中的下列域值:
注意:Fault Name 的名称必须为 NegativeCredit,该名称与 CreditRatingService Web 服务的 WSDL 中定义的名称相同。 命名空间前缀 ns2 必须与用于限定该 BPEL 流程中 crError 变量的命名空间前缀相匹配。 如果您单击 Browse Variables 单击 OK。 |
|||||||||||||||||||||
| 4. |
要处理该错误,将 Assign 活动拖至 ns2:NegativeCredit Catch 分支中标记为 Drop Activity Here 的区域: |
|||||||||||||||||||||
| 5. |
要添加表明不在 outputVariable 中批准贷款意所需的复制规则,双击 Assign_3。 在 Assign 属性中。 然后单击 Create 在 Copy 页面上添加第一个复制规则。 在 Create Copy Rule 窗口的 From 部分,通过下列操作将 Expression 域
在 To 部分中,设置下列域值:
注意:按 [Ctrl]+[Space] 使用 XPath Building Assistant 设置 XPath Query 域。 单击 OK。 |
|||||||||||||||||||||
| 6. |
在 Assign 属性中,单击 Create 添加第二个复制规则。 在 Create Copy Rule 窗口的 From 部分,使用 XPath Building Assistant 将 Expression 域值设置为函数 false(): 在 To 部分中,设置下列域值:
单击 OK。 |
|||||||||||||||||||||
| 7. |
在 Assign 属性中,单击 Create 添加第三个复制规则。 在 Create Copy Rule 窗口的 From 部分,使用 XPath Building Assistant 将 Expression 域值设置为函数 false(): 在 To 部分中,设置下列域值:
单击 OK。 |
|||||||||||||||||||||
| 8. |
在 Assign 属性中,单击 Create 添加第四个即最后一个复制规则。 在 Create Copy Rule 窗口的 From 部分,使用 XPath Building Assistant 将 Expression 域值设置为 number(100): 在 To 部分中,设置下列域值:
单击 OK。 |
|||||||||||||||||||||
| 9. |
确认 Assign 属性的 Copy 页面上有四个复制规则。 然后单击 Apply。 单击 OK。 |
|||||||||||||||||||||
| 10. |
要回调该客户,将 Invoke 活动从 Component Palette 拖至 ns2:NegativeCredit Catch 分支中 Assign_3 之后的区域: |
|||||||||||||||||||||
| 11. |
双击 Invoke_1 活动。 在 Invoke 属性中,设置下列域值:
您明确把 client 选择为 Partner Link 值之后,会自动填充下列域值:
单击 Apply。 单击 OK。 |
|||||||||||||||||||||
| 12. |
要因为发生 NegativeCredit 错误而终止 BPEL 流程,将 Terminate 活动从 Component Palette 拖至 ns2:NegativeCredit Catch 分支中 badCreditClientCallback invoke 活动的后面: 注意:单击 GetCreditRating 范围左上角的折叠图标 选择 File < Save All 保存对该 BPEL 项目所做的更改。
|
|||||||||||||||||||||
要设计并行异步调用 UnitedLoan 和 StarLoan Web 服务的流程活动,执行下列步骤:
| 1. |
要为并行流创建范围,将 Scope 组件从 Component Palette 拖至第一个 GetCreditRating 范围之后: |
||||||||||||||||||
| 2. |
要更改新范围的名称,双击 Scope_1。在 Name 域中输入 GetLoanOffers。 单击 OK。 展开 GetLoanOffers 范围。
|
||||||||||||||||||
| 3. |
要初始化 loanApplication 变量,将 Assign 活动拖至 GetLoanOffers 范围的 Drop Activity Here 区域: |
||||||||||||||||||
| 4. |
要设置 assign 活动属性,双击 Assign_4 活动。单击 General 选项卡。 将 Name 域内容更改为 InitializeInput: 单击 Copy 选项卡。 在 Copy 页面中,单击 Create 打开 Create Copy Rule 窗口。 使用下列值填充 From 部分中的域:
在 To 部分中,填充下列域值:
单击 OK 关闭 Create Copy Rule 窗口。 单击 Apply,然后单击 OK 关闭 Assign 属性对话框。 |
||||||||||||||||||
| 5. |
要创建并行流,将 Flow 组件拖至 InitializeInput assign 活动之后的区域: 该流将自动扩展,包含这些活动的平行的左侧和右侧区域。 |
||||||||||||||||||
| 6. |
在该流的左侧,将 Invoke 组件拖至 Drop Activity Here 区域: |
||||||||||||||||||
| 7. |
双击 Invoke_1,然后设置下列 Invoke 属性:
注意:调用异步 Web 服务时无法设置 Output Variable 属性。 当您将 unitedLoanService 选择为 Partner Link 值时,会自动填充下列域值:
单击 OK。 |
||||||||||||||||||
| 8. |
在该流的左侧,将 Receive 组件拖至 invokeUnitedLoan 活动的后面: |
||||||||||||||||||
| 9. |
双击 Receive_1,然后设置下列 Receive 属性:
当您将 unitedLoanService 选择为 Partner Link 值时,会自动填充下列属性:
注意:不要选择 Create Instance 复选框。 单击 OK。 |
||||||||||||||||||
| 10. |
在该流的右侧,将 Invoke 组件拖至 Drop Activity Here 区域: |
||||||||||||||||||
| 11. |
双击 Invoke_1,然后设置下列 Invoke 属性:
当您将 starLoanService 选择为 Partner Link 值时,会自动填充下列域值:
单击 OK。 |
||||||||||||||||||
| 12. |
在该流的右侧,将 Receive 组件拖至 invokeStarLoan 活动的后面: |
||||||||||||||||||
| 13. |
双击 Receive_1,然后设置下列 Receive 属性:
当您将 starLoanService 选择为 Partner Link 值时,会自动填充下列属性:
注意:不要选择 Create Instance 复选框。 单击 OK。 折叠 GetLoanOffers 范围。 选择 File > Save All 保存对该 BPEL 项目所做的更改。 |
||||||||||||||||||
要创建 BPEL 活动的条件分支以从 UnitedLoan 或 StarLoan Web 服务中选择最好的贷款意向,执行下列步骤:
| 1. |
将一个 Scope 组件拖到 GetLoanOffers 范围后: |
||||||||||||||||||
| 2. |
要设置范围名称,双击 Scope_1,然后在 Name 属性中输入 ChooseLoanOffer: 单击 OK。 |
||||||||||||||||||
| 3. |
要创建条件分支,展开 ChooseLoanOffer 范围,将 Switch 活动拖至 Drop Activity Here 区域: 该 switch 活动会实现一个条件分支,该分支最初在左侧包含一个 |
||||||||||||||||||
| 4. |
要创建条件,双击 |
||||||||||||||||||
| 5. |
在 Switch Case 属性中,使用 XPath Building Assistant 在 Expression 域中构建下列条件: bpws:getVariableData('unitedOffer', 'payload', '/ns1:loanOffer/ns1:APR') >
bpws:getVariableData('starOffer', 'payload', '/ns1:loanOffer/ns1:APR')
单击 Expression 域。 按 [Ctrl]+[Space] 调用 XPath Building Assistant: 双击 XPath Building Assistant 列表中的 bpws:getVariableData 条目,其中带有三个 String 参数。
|
||||||||||||||||||
| 6. |
在 Expression 域中输入 bpws:getVariableData() 函数调用之后,XPath Building Assistant 为第一个 String 参数提供选项: 双击 unitedOffer。
|
||||||||||||||||||
| 7. |
在 Expression 域中输入 unitedOffer 参数字符串值之后,XPath Building Assistant 将提供 payload 作为第二个 String 参数的值: 双击 payload。 |
||||||||||||||||||
| 8. |
在 Expression 域中输入 payload 参数值之后,XPath Building Assistant 将提供 /ns1:loanOffer 作为最后一个 String 参数的值: 双击 /ns1:loanOffer。 |
||||||||||||||||||
| 9. |
在 Expression 域中输入 /ns1:loanOffer 参数值之后,XPath Building Assistant 在 loanOffer 结构中提供一个子元素列表: 双击 ns1:APR 完成该条件表达式的第一部分。 |
||||||||||||||||||
| 10. | 按 [End] 将光标移动到 Expression 域 bpws:getVariableData() 函数调用之后。 要插入大于 (>) 条件运算符,按 [Space] +[>] + [Space]: | ||||||||||||||||||
| 11. |
要完成 Expression 域中的条件分支表达式,按 [Ctrl] + [Space] 调用 XPath Building Assistant 将下列函数调用插入该条件运算符的右侧: bpws:getVariableData('starOffer', 'payload', '/ns1:loanOffer/ns1:APR')
单击 OK。
|
||||||||||||||||||
| 12. |
如果 双击 Assign_4。 |
||||||||||||||||||
| 13. |
要将 starOffer 复制到 outputVariable 中,在Assign 属性中单击 General 选项卡。 在 Name 域中输入 selectStarOffer。 单击 Copy 选项卡,然后单击 Create 打开 Create Copy Rule 窗口。 在 Create Copy Rule 窗口的 From 部分中,填充下列域值:
在 To 部分中,填充下列域值:
单击 OK 关闭 Create Copy Rule 窗口。 单击 OK 关闭 Assign 属性对话框。 |
||||||||||||||||||
| 14. |
要选择 双击 Assign_4。 |
||||||||||||||||||
| 15. |
在 Assign 属性中,单击 General 选项卡。 在 Name 域中输入 selectUnitedOffer。 单击 Copy 选项卡,然后单击 Create 打开 Create Copy Rule 窗口。 在 Create Copy Rule 窗口的 From 部分中,填充下列域值:
在 To 部分中,填充下列域值:
单击 OK 关闭 Create Copy Rule 窗口。 单击 OK 关闭 Assign 属性对话框。 |
||||||||||||||||||
| 16. |
确认 ChooseLoanOffer 范围的 switch 活动在 选择 File > Save All 保存对该 BPEL 项目所做的更改。 |
||||||||||||||||||
本节包括下列子主题:
| 部署 MyLoanProcess BPEL 流程 | ||
| 测试 1: 成功运行 MyLoanProcess 以获取贷款意向 | ||
| 测试 2: 处理运行 MyLoanProcess 时的异常 | ||
要将 MyLoanProcess BPEL 项目部署到 BPEL Process Manager 服务器,执行下列步骤:
| 1. |
在 JDeveloper Applications - Navigator 中,右键单击 MyLoanProcess 项目节点: 选择 Deploy > BPEL_conn > Deploy to default domain。 注意:您要使用在本教程第一部分中创建的 BPEL Process Manager 服务器链接来部署该 BPEL 流程。 JDeveloper 会自动编译该 BPEL 流程。 在编译过程中,JDeveloper 会以 Java Archive(JAR 文件)的形式创建一个 BPEL 包,该包将被部署到 BPEL Process Manager 服务器中。 |
| 2. |
在 Messages - Log 窗口的 Messages 中,跟踪编译和部署该 BPEL 流程的进度: 注意: 测试部署的 BPEL 流程之前要确保编译和部署成功。 要在 Messages 页面中将消息换行,右键单击 Messages 页面区域的任何位置,然后从上下文菜单中选择 Wrap。 |
测试 1: 成功运行 MyLoanProcess 以获取贷款意向
要测试 MyLoanProcess BPEL 流程成功获取贷款意向,执行下列步骤:
要测试 MyLoanProcess BPEL 流程成功处理可能从 CreditRatingService 生成的 NegativeCredit 异常,执行下列步骤:
在本教程中,您学习了如何执行下列任务:
|
使用 Oracle JDeveloper 10g BPEL Designer 创建一个新的 BPEL 项目 |
|
|
为 BPEL 流程调用的每个 Web 服务添加合作伙伴链接 |
|
|
添加用于在 Web 服务与 BPEL 流程之间进行请求和响应而传递 XML 数据的变量 |
|
| 使用 Oracle JDeveloper 10g BPEL Designer 直观地设计 BPEL 流程 | |
| 使用 Oracle JDeveloper 10g BPEL Designer 编译和部署 BPEL 流程 | |
| 在 BPEL Console 中测试 BPEL 流程 | |
| 关闭 BPEL Process Manager 服务器 |
| 有关本 OBE 教程的问题,请在 OBE 论坛上提问。 | |
| 要了解 Oracle BPEL 产品的详细信息,请参阅 OTN 网站上的其他 OBE。 |