创建贷款处理复合应用程序
Contributed and maintained by
Sherry Barkodar
,
Bob May
2007 年 10 月 [修订号:V1-2]
本文适用于 NetBeans IDE 6.0 发行版
本教程将简要介绍如何创建一个简单的贷款处理复合应用程序,并且将演示如何部署、执行和测试复合应用程序(Composite Application)。
目录
业务用例
贷款处理复合应用程序需要满足以下业务用例,如 图 1 所示:
要申请贷款,用户需要填写一份贷款请求,其中包括个人身份、请求贷款总额和信用历史等信息。
接收到贷款请求后,系统将通过一个已有数据库验证用户提供的个人信息,然后根据其个人信息和申请额度批准或拒绝贷款。
完成一些特定的手续之后,系统将以批准函的形式生成一个报告并将其发送给用户,以确认贷款批准。
如果贷款由于某种原因被拒绝,则生成一个显示拒绝原因的报告,并发送给用户。
图 1:贷款业务用例
教程需求
在开始之前,确保对本节的系统需求有所了解。
前提条件
本教程假设您拥有 Java 语言、Java 平台与 NetBeans IDE 方面的基础知识或编程经验。
本教程所需要的软件
开始之前,需要在您的计算机中下载并安装以下软件:NetBeans 6.0 。 All Download 选项包括 SOA Pack 和 GlassFish V2 应用服务器,后者为本教程所需。
回到顶部
配置和启动 GlassFish 应用服务器。
在部署应用程序之前,需要正确配置并运行 GlassFish 应用服务器。
完整的 NetBeans 6.0 下载包括 GlassFish 应用服务器。当我们安装 NetBeans 6.0 时,GlassFish 应用服务器将一并安装。
启动 GlassFish 应用服务器。
如果 Services 窗口不可见,则选择 Window > Services 选项。
在 Services 窗口中,展开 Servers 节点。
Servers 节点中应该包含一个 GlassFish Application Server 子节点。如果未出现 GlassFish Application Server 节点,请阅读 配置 GlassFish 应用服务器 这篇文章。
右键单击 GlassFish Application Server 节点并选择 Start 选项。
Output 窗口将显示关于应用程序启动的日志信息:如果 Output 窗口不可见,则选择 Window > Output > Output 选项
当 Output 窗口中出现“Application server startup complete.”消息时,则表示应用服务器已经开始运行。
注意: 如果 GlassFish Application Server 节点上出现了一个绿色的箭头标志,则表示服务器正在运行。
您知道吗 :在 GlassFish 应用服务器中部署一个应用程序将自动启动 GlassFish 应用服务器。这样,我们就不需要手动启动 GlassFish 应用服务器。
配置 GlassFish V2 应用服务器:
您可能希望使用不同版本的应用服务器,而不是 NetBeans 6.0 所提供的版本。比如说,您可以从 GlassFish Community 站点下载并安装一个更新版本的 GlassFish V2。
以下步骤将演示如何配置 NetBeans 6.0 IDE 使用另一个版本的 GlassFish V2 应用服务器。假定您已经下载并安装了另一个版本的应用服务器。
在 Services 窗口中,右键单击 Servers 节点并从弹出菜单中选择 Add Server 选项。
此时将打开 Add Server Instance 对话框。
在 Choose Server 页面中,从 Server 下拉列表中选择 GlassFish V2 选项。
单击 Next 按钮。
此时将打开 Platform Folder Location 页面。
在 Platform Location 字段中,使用 Browse 按钮导航到应用服务器的安置位置并选择它。
如果将 GlassFish 应用服务器安装在默认位置,那么可以使用 表 1 作为查找安装位置的指导。否则,导航到 GlassFish V2 应用服务器的安装位置。
表 1:应用服务器的默认安装目录
Solaris OS
Linux
root
/opt/SUNWappserver
/opt/SDK
Solaris OS
Linux
user
~/SUNWappserver
~/SDK
Mac OS X
N/A
~/SUNWappserver
~/SDK
Windows
N/A
C:\Sun\AppServer
C:\Sun\SDK
选中 Register Local Default Domain 单选按钮,然后单击 Next 按钮。
为域的管理员输入用户名和口令。
如果在安装时接受了默认值,则用户名和口令分别为 admin 和 adminadmin 。
单击 Finish 按钮。
创建 BPEL 模块项目
在本节中,我们将创建一个 BPEL 模块项目,其名称为 LoanRequestor 。
创建 LoanRequestor 项目:
从主菜单中,选择 File > New Project 选项。
此时将打开 New Project 向导。
在 Categories 列表中,选择 SOA 节点;并在 Projects 列表中,选择 BPEL Module 节点。
单击 Next 按钮。
在 Project Name 字段中,输入 LoanRequestor 。
(可选)在 Project Location 字段中,使用 Browse 按钮导航到 IDE 将要存储项目文件的位置并选择它。
单击 Finish 按钮。
现在,Projects 窗口中已经含有一个 BPEL 模块项目节点,其名称为 LoanRequestor 。
回到顶部
创建 XML 模式
在本节中,我们将在 BPEL 模块项目中添加一个新 XML 模式,然后再在模式中添加一些 XML 模式组件。
创建 LoanRequestor.xsd :
在 Projects 窗口中,展开 LoanRequestor 项目节点,然后右键单击 Process Files 节点并选择 New > Other 选项。
此时将打开 New File 向导。
在 New File 向导中,执行以下执行:
在 Choose File Type 页面的 Categories 列表中,选择 XML 节点。然后,在 File Types 列表中,选择 XML Schema 节点。
在 File Name 字段中,输入 LoanRequestor 。
单击 Finish 按钮。
在 Projects 窗口中,Process Files 节点已经含有一个标签为 LoanRequestor.xsd 的子节点。Source Editor 中含有一个 XML 模式文件的选项卡,即 LoanRequestor.xsd 。其中打开了 Schema 视图。
在 Schema 视图中,单击 Design 按钮打开 XML 模式编辑器的 Design 视图。
在 XML 模式中添加复杂类型:
在 Design 视图的 Palette 中,展开 XML Schema Components 部分并选择 Complex Type 图标。
如果 Palette 窗口不可见,则从主菜单中选择 Window > Services 选项。
将选定内容立即拖动到 Complex Types 节点下面的模式设计区域中。
IDE 将添加一个 Complex Type 节点,并且将选中复杂类型(newComplexType )的名称供用户修改。
在新节点中键入 processApplicType 并按下回车键。
现在,Design 区域中将显示刚才创建的新复杂类型,其名称为 processApplicType 。
重复步骤 1 到 3,再创建一个名称为 processApplicType 的复杂类型。
在 processApplicType 中添加本地元素:
在 Palette 的 XML Components 部分中,选择 Element 图标并将所选内容拖动到模式设计区域的 processApplicType 节点上面。
IDE 将添加一个标签为 newElement 的元素节点。
如果 Properties 窗口不可见,则选择 Window > Services 选项。
在模式设计区域中,选择 newElement 节点。
在 Properties 窗口中,选择 Name 属性的值字段使它变为可编辑状态,然后键入 socialSecurityNumber 。
在 Properties 窗口中,将 Nillable 性能的值字段设置为 True 。
在 Projects 窗口的 Definition 属性中,单击 ellipsis 按钮。
此时将打开 Definition 对话框。
在列表中,展开 Built-in Types 节点,选择 string 节点,然后单击 OK 按钮。
重复步骤 1 到 7,将以下元素也添加到 processApplicType 中:
applicantName
True
string
applicantAddress
True
string
applicantEmailAddress
True
string
applicantAge
True
int
applicantGender
True
string
annualSalary
True
double
amountRequested
True
double
在 processApplicRespType 中添加本地元素:
在 Palette 的 XML Components 部分中,选择 Element 图标并将所选内容拖动到模式设计区域的 processApplicRespType 节点上面。
IDE 将添加一个标签为 newElement 的元素节点。
在模式设计区域中,选择 newElement 节点。
在 Properties 窗口中,选择 Name 属性的值字段使它变为可编辑状态,然后键入 return 。
在 Projects 窗口的 Definition 属性中,单击 ellipsis 按钮。
此时将打开 Definition 对话框。
在列表中,展开 Built-in Types 节点,然后选择 string 节点。
单击 OK 按钮。
将所有本地元素添加到复杂类型中之后,Design 视图应类似于以下界面:
添加全局元素:
在 Palette 的 XML Components 部分中,选择 Element 图标并将所选内容拖动到设计区域中 Elements 节点的正下方。
IDE 将在模式设计区域的 Elements 节点下面添加一个 newElement 组件。
在 Design 视图的模式设计区域中,选择 newElement 节点。
在 Properties 窗口中,选择 Name 属性的值字段使它变为可编辑状态,然后键入 processApplicElement 。
在 Projects 窗口的 Definition 属性中,单击 ellipsis 按钮。
此时将打开 Definition 对话框(Element 的定义)。
在列表中,展开 Complex Types 节点,然后选择 processApplicType 复杂类型节点。
单击 OK 按钮。
重复步骤 1 到 6,再添加一个名称为 processApplicRespElement 的全局元素,并选择 processApplicRespType 复杂类型作为定义。
要保存修改,在 Projects 窗口中,选择 LoanRequestor 项目节点,并从主菜单中选择 File > Save All 选项。
回到顶部
创建 WSDL 文档
在本节中,我们将在 BPEL 模块项目中添加一个 WSDL 文件,然后再配置 WSDL 文档的组件。
创建 LoanRequestor.wsdl :
在 Projects 窗口中,展开 LoanRequestor 项目节点,然后右键单击 Process Files 节点并选择 New > WSDL Document 选项。
此时将打开 New WSDL Document 向导。
在 Name and Location 页面中,执行以下执行:
在 File Name 字段中,输入 LoanRequestor 。
选中 Import XML Schema File(s) 复选框。
在 XML Schema(s) 字段中,单击 Browse 按钮。
此时将打开 Add Import 对话框。该对话框将显示可以导入的 XML 模式。
展开 By File > LoanRequestor > Process Files 节点,然后选择 LoanRequestor.xsd 。
确保在 Import 列中选中 LoanRequestor.xsd 行的复选框。
单击 OK 按钮。
在 New WSDL Document 向导中,单击 Next 按钮。
此时将打开 Abstract Configuration 页面。
在 Abstract Configuration 页面的 Input 区域中,执行以下执行:
在 Message Part Name 列中,双击默认值使该字段变为可编辑状态。
键入 requestLoanMessage 并按下回车键。
在 Element Or Type 列中,单击 ellipsis 按钮。
此时将打开 Select Element Or Type 对话框。
展开 By File > LoanRequestor > src/LoanRequestor.xsd > Elements 节点。
注意: 您可能需要滑动到 Select Element Or Type 对话框中列表的顶部才能看到 By File 节点。
在 Elements 节点下面,选择 processApplicElement 节点,然后单击 OK 按钮。
在 Abstract Configuration 页面的 Output 区域中,执行以下执行:
在 Message Part Name 列中,双击默认值使该字段变为可编辑状态。
键入 responsePart 并按下回车键。
在 Element Or Type 列中,单击 ellipsis 按钮。
此时将打开 Select Element Or Type 对话框。
展开 By File > LoanRequestor > src/LoanRequestor.xsd > Elements 节点。
注意: 您可能需要滑动到 Select Element Or Type 对话框中列表的顶部才能看到 By File 节点。
在 Elements 节点下面,选择 processApplicRespElement 节点,然后单击 OK 按钮。
完成的 Abstract Configuration 页面应类似于下图。
单击 Finish 按钮。
在 Projects 窗口中,Process Files 节点已经含有一个标签为 LoanRequestor.wsdl 的子节点。Source Editor 中含有一个 WSDL 文件的选项卡,即 LoanRequestor.wsdl 。其中打开了 WSDL 视图。
回到顶部
打开和部署伙伴 Web 服务
贷款应用程序将通过它们的公开接口与其伙伴服务进行通信。这些接口定义在特定于伙伴的 WSDL 文件中。
在本节中,我们将使用一个名称为 LoanProcessor 的 J2EE 项目。我们可以按照 创建 EJB 模块项目 中的步骤从头开始创建此项目,或者也可以从 loanprocessing-loanprocessor.zip 下载经过压缩的项目文件。LoanRequestor 项目含有伙伴服务的一个非常基础的 EJB 实现。
伙伴 Web 服务必须部署到 IDE 附带的 GlassFish 服务器中,然后才能够测试运行 LoanRequestorCompositeApp 。
该实现只用于充当贷款服务(Loan Service)流程的测试工具。
打开 LoanProcessor 项目:
下载 loanprocessing-loanprocessor.zip 文件,然后将它解压到 IDE 的工具目录中。
这样将创建一个 LoanProcessor 目录。
从主菜单中,选择 File > Open Project 选项。
此时将打开 New Project 向导。
导航到解压项目的目录,选择 LoanProcessor 项目,然后单击 Open Project Folder 按钮。
此时将出现一个进度对话框,然后项目将出现在 Projects 窗口中。
部署 LoanProcessor 项目:
右键单击 LoanProcessor 项目节点,然后选择 Undeploy and Deploy 选项。
等待 BUILD SUCCESSFUL 消息出现在 Output 窗口中。
要验证 LoanProcessor 企业应用程序是否成功部署,需要切换到 Services 窗口。
在 Services 窗口中,展开 Servers > GlassFish Application Server > Applications > EJB Modules 节点。
已经添加了一个 LoanProcessor 节点。如果该节点未出现,则表示部署失败。
回到顶部
创建 BPEL 流程
创建 LoanRequestor.bpel :
在 Projects 窗口中,展开 LoanRequestor 项目节点,然后右键单击 Process Files 节点并选择 New > BPEL Process 选项。
此时将打开 New BPEL Process 向导。
在 File Name 字段中,输入 LoanRequestor 。
单击 Finish 按钮。
在 Projects 窗口中,Process Files 节点已经含有一个标签为 LoanRequestor.bpel 的子节点。
Source Editor 中含有一个 BPEL 流程的选项卡,即 LoanRequestor.bpel 。其中打开了 BPEL Designer 的 Design 视图。
添加伙伴链接:
在 Projects 窗口中,展开 LoanRequestor 项目节点,然后展开 Process Files 节点并选择 LoanRequestor.wsdl 节点。
将所选内容(LoanRequestor.wsdl )从 Projects 窗口拖动 Design 视图中。
此时将打开 Create New Partner Link 对话框。
将 Name 字段中的值修改为 BpelImplementation 。
接受其他默认值(WSDL File = /LoanRequestor.wsdl ,使用所选中的 Existing Partner Link Type 单选按钮),然后单击 OK 按钮。
在 Projects 窗口中,展开 LoanProcessor EJB Module 项目节点,然后展开 Web Services 节点并选择 LoanProcessor Web 服务节点。
将所选内容(LoanProcessor Web 服务节点)从 Projects 窗口拖动 Design 视图中。
此时将打开 Create New Partner Link 对话框。
将 Name 字段中的值修改为 EjbImplementation 。
接受其他默认值(WSDL File = /Partners/LoanProcessor/LoanProcessor.wsdl ,使用所选中的 Newly Created Partner Link Type 单选按钮),然后单击 OK 按钮。
注意到,IDE 已经在 LoanRequestor > Process Files 节点下面添加了一个 Partners 文件夹。
展开 Partners 节点。
注意到,该文件夹中的 LoanProcessor 节点含有 LoanProcessor.wsdl 、LoanProcessorWrapper.wsdl 和 LoanProcessor_xsd_1.xsd 。
添加接收活动:
在 Palette 的 Web Service 部分中,选择 Receive 图标并将所选内容拖动到设计区域中 Process Start 活动与 Process End 活动中间。
IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
该操作将在 Design 视图中放置一个名称为 Receive1 的接收活动。
双击 Receive1 活动。
此时将打开 Receive1 [Receive] Property Editor。
将 Name 字段中的值修改为 ReceiveFromCustomer 。
从 Partner Link 下拉列表中,选择 BpelImplementation 选项。
IDE 将在 Operation 字段中填入 LoanRequestorOperation 。
单击 Input Variable 字段旁边的 Create 按钮,在 New Input Variable 对话框中,接受默认值并单击 OK 按钮。
这将创建一个名称为 LoanRequestorOperationIn 的新输入变量。
单击 OK 按钮关闭 Receive1 [Receive] - Property Editor。
现在,接收活动在 Design 视图的标签为 ReceiveFromCustomer ,并且 BpelImplementation 伙伴链接与 LoanRequestor 流程中的接收活动之间显示了一条连接。
添加调用活动:
在 Palette 的 Web Service 部分中,选择 Invoke 图标并将所选内容拖动到设计区域中 ReceiveFromCustomer 活动的下方。
IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
该操作将在 Design 视图中放置一个名称为 Invoke1 的调用活动。
双击 Invoke1 活动。
此时将打开 Invoke1 [Invoke] - Property Editor。
将 Name 字段中的值修改为 InvokeLoanProcessorEJB 。
从 Partner 下拉列表中,选择 BpelImplementation 选项。
IDE 将在 Operation 字段中填入 processApplicOperation 。
单击 Input Variable 字段旁边的 Create 按钮,在 New Input Variable 对话框中,接受默认值并单击 OK 按钮。
这将创建一个名称为 ProcessApplicOperationIn 的新输入变量。
单击 Output Variable 字段旁边的 Create 按钮,在 New Output Variable 对话框中,接受默认值并单击 OK 按钮。
这将创建一个名称为 ProcessApplicOperationOut 的新输出变量。
单击 OK 按钮关闭 Invoke1 [Invoke] - Property Editor。
现在,调用活动在 Design 视图中的标签为 InvokeLoanProcessorEJB ,并且 LoanRequestor 流程中的调用活动与 EjbImplementation 伙伴链接之间显示了一条连接。
添加回复活动:
在 Palette 的 Web Service 部分中,选择 Reply 图标并将所选内容拖动到设计区域中 InvokeLoanProcessorEJB 活动的下方。
IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
该操作将在 Design 视图中放置一个名称为 Reply1 的回复活动。
双击 Reply1 活动。
此时将打开 Reply1 [Reply] - Property Editor。
将 Name 字段中的值修改为 ReplyToCustomer 。
从 Partner Link 下拉列表中,选择 BpelImplementation 选项。
IDE 将在 Operation 字段中填入 LoanRequestorOperation 。
确保选中了 Normal Response 单选按钮。
单击 Output Variable 字段旁边的 Create 按钮,在 New Output Variable 对话框中,接受默认值并单击 OK 按钮。
这将创建一个名称为 LoanRequestorOperationOut 的新输出变量。
单击 OK 按钮关闭 Reply1 [Reply] - Property Editor。
该操作将在 Design 视图中放置一个名称为 ReplyToCustomer 的回复活动。
添加 CopyCustomerInfo 指派活动:
在 Palette 的 Basic Activities 部分中,选择 Assign 图标并将所选内容拖动到设计区域中 ReceiveFromCustomer 活动与 InvokeLoanProcessorEJB 活动中间。
IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
该操作将在 Design 视图中放置一个名称为 Assign1 的指派活动。
如果 Properties 窗口不可见,则从主菜单中选择 Window > Properties 选项。
在 Design 视图中,选择 Assign1 活动。
在 Properties 窗口中,将 Name 属性修改为 CopyCustomerInfo 。
如果 BPEL Mapper 窗口不可见,则从主菜单中选择 Window > Other > BPEL Mapper 选项。
如果 BPEL Mapper 未包含 CopyCustomerInfo 信息,则在 Design 视图中选择 LoanRequestor 流程方框,然后选择 CopyCustomerInfo 指派活动。这样可以刷新 BPEL Mapper 中的信息。
在 BPEL Mapper 的源面板(左侧面板)中,展开 Variables 节点下面的 LoanRequestorOperationIn 和 requestLoanMessage 节点。
先前在模式中创建的 processApplicType 复杂类型中的每个本地元素都有一个相应的节点。
在 BPEL Mapper 的目标面板(右侧面板)中,展开 Variables 节点下面的 ProcessApplicOperationIn 和 parameters 节点。
parameters 节点下面也显示了相同的模式元素节点。
将源面板中的 socialSecurityNumber 拖动到目标面板中的 socialSecurityNumber 节点上。
针对以下变量重复步骤 8:
applicantName 、applicantAddress 、applicantEmailAddress 、applicantAge 、applicantGender 、annualSalary 和 amountRequested 。
要保存修改,在 Projects 窗口中,选择 LoanRequestor 项目节点,并从主菜单中选择 File > Save All 选项。
添加 CopyLoanStatus 指派活动:
在 Palette 的 Basic Activities 部分中,选择 Assign 图标并将所选内容拖动到设计区域中 InvokeLoanProcessorEJB 活动与 ReplyToCustomer 活动中间。
该操作将在 Design 视图中放置一个名称为 Assign1 的指派活动。
选择 Assign1 活动。
在 Properties 窗口中,将 Name 属性的值修改为 CopyLoanStatus 。
如果 BPEL Mapper 窗口不可见,则从主菜单中选择 Window > Other > BPEL Mapper 选项。
在 BPEL Mapper 的源面板中,展开 Variables 节点下面的 ProcessApplicOperationOut 和 parameters 节点。
parameters 下面将出现一个 return 节点。
在 BPEL Mapper 的目标面板中,展开 Variables 节点下面的 LoanRequestorOperationOut 和 responsePart 节点。
responsePart 下面将出现一个 return 节点。
将源面板中的 return 拖动到 BPEL Mapper 目标面板中的 return 节点上。
要保存修改,在 Projects 窗口中,选择 LoanRequestor 项目节点,并从主菜单中选择 File > Save All 选项。
回到顶部
编译 BPEL 模块项目
编译 LoanRequestor 项目:
在 Projects 窗口中,右键单击 LoanRequestor 项目节点并选择 Clean and Build Project 选项。
如果 BUILD SUCCESSFUL 消息出现在 Output 窗口中,则表示编译成功。
回到顶部
创建复合应用程序项目
在部署 BPEL Module 项目之前,我们需要创建一个复合应用程序。部署项目将使应用服务器可以使用服务组装功能,从而允许服务单元运行。
创建复合应用程序项目:
从主菜单中,选择 File > New Project 选项。
此时将打开 New Project 向导。
在 Categories 列表中,选择 SOA 节点。
在 Projects 列表中,选择 Composite Application 节点。
单击 Next 按钮。
在 Project Name 字段中,输入 LoanRequestorCompositeApp 。
单击 Finish 按钮。
现在,Projects 窗口中已经含有一个复合应用程序项目节点,其名称为 LoanRequestor 。
回到顶部
使用复合应用程序(服务组装)编辑器
在本节中,我们将使用复合应用程序(服务组装)编辑器修改项目配置和构建 BPEL Module 项目。然后,我们将添加一个 WSDL 端点和连接,再验证和修改自动生成的 WSDL 端点的属性。
使用复合应用程序(服务组装)编辑器修改项目配置和构建 BPEL Module 项目。
在 Projects 窗口中,选择 LoanRequestorCompositeApp 项目节点并从弹出菜单中选择 Edit Application Configuration 选项。
IDE 将在复合应用程序(服务组装)编辑器中打开 .casa 文件。该编辑器 Design 视图的设计区域由三部分组成:WSDL Ports、JBI Modules 和 External Modules。
在 Projects 窗口中,选择 LoanRequestor 项目节点,并将所选内容拖动到 LoanRequestorCompositeApp.casa 文件 Design 视图的 JBI Modules 区域中。
在编辑器工具栏中,单击 Build Project 按钮 编译 LoanRequestor BPEL Module 项目。
完成此步骤后:
状态栏消息将显示以下内容:
Finished building build.xml (jbi-build).
Output 窗口应类似于下图。
LoanRequestorCompositeApp.casa 文件的 Design 视图应类似于下图。
创建 WSDL 端点:
在 Palette 的 WSDL Bindings 部分,选择肥皂图标。
将所选内容拖动到 LoanRequestorCompositeApp.casa 文件 Design 视图的 WSDL Ports 区域中。
IDE 将添加一个标签为 casaPort1 的 WSDL 端口。
创建连接:
在 Design 视图的 casaPort1 端口中,单击使用端点图标 。
选择端点后,图标的颜色将发生修改: 。
将所选内容拖动到 JBI Modules 区域 (BPEL) LoanRequestor 框中的 LoanRequestorPortTypeRole_myRole 上。
IDE 将创建一个新连接。
回到顶部
部署和测试复合应用程序
要增强复合应用程序的功能,我们可以添加一些测试用例并绑定到操作,然后提供输入并使用测试程序。
部署复合应用程序:
右键单击 LoanRequestorCompositeApp 项目节点,然后选择 Deploy Project 选项。
如果 BUILD SUCCESSFUL 消息出现在 Output 窗口中,则表示部署成功。
为通过批准的请求添加测试用例:
在 Projects 窗口中,展开 LoanRequestorCompositeApp 项目节点,右键单击 Test 节点并从弹出菜单中选择 New Test Case 选项。
此时将打开 New Test Case 向导。
在 Test Case Name 字段中,输入 ApprovedTestCase 并单击 Next 按钮。
在 Select the WSDL Document 页面中,展开 LoanRequestorCompositeApp - Process Files 节点,选择 LoanRequestorCompositeApp.wsdl 并单击 Next 按钮。
在 Select the Operation to Test 页面中,选择 LoanRequestorOperation 并单击 Finish 按钮。
在 Projects 窗口中,IDE 已经在 Test 节点下面添加了一个新节点,其名称为 ApprovedTestCase 。该节点含有两个子节点:Input 和 Output 。Source Editor 中含有一个输入文件的选项卡,即 LoanRequestor.wsdl 。
注意: 如果 Source Editor 未包含一个 Input.xml 选项卡,则在 Projects 窗口中双击 Input 节点打开该文件。
在 Input.xml 文件的 Source Editor 选项卡中,定义各个变量的值。方法是将以下代码行:
<loan:socialSecurityNumber>?string?</loan:socialSecurityNumber> <loan:applicantName>?string?</loan:applicantName> <loan:applicantAddress>?string?</loan:applicantAddress> <loan:applicantEmailAddress>?string?</loan:applicantEmailAddress> <loan:applicantAge>?3?</loan:applicantAge> <loan:applicantGender>?string?</loan:applicantGender> <loan:annualSalary>?1.051732E7?</loan:annualSalary> <loan:amountRequested>?1.051732E7?</loan:amountRequested>
替换为以下代码行:
<loan:socialSecurityNumber>111-11-1111</loan:socialSecurityNumber> <loan:applicantName>May JavaOne</loan:applicantName> <loan:applicantAddress>1601 Willow Road, Menlo Park, CA 94025</loan:applicantAddress> <loan:applicantEmailAddress>mayj12007@gmail.com</loan:applicantEmailAddress> <loan:applicantAge>36</loan:applicantAge> <loan:applicantGender>female</loan:applicantGender> <loan:annualSalary>100000</loan:annualSalary> <loan:amountRequested>1000000</loan:amountRequested>
从主菜单中,选择 File > Save All 选项。
选择 Input.xml 文件的 Source Editor 选项卡。
为被拒绝的请求添加测试用例:
在 Projects 窗口中,展开 LoanRequestorCompositeApp 项目节点,右键单击 Test 节点并从弹出菜单中选择 New Test Case 选项。
此时将打开 New Test Case 向导。
在 Test Case Name 字段中,输入 RejectedTestCase 并单击 Next 按钮。
在 Select the WSDL Document 页面中,展开 LoanRequestorCompositeApp - Process Files 节点,选择 LoanRequestorCompositeApp.wsdl 并单击 Next 按钮。
在 Select the Operation to Test 页面中,选择 LoanRequestorOperation 并单击 Finish 按钮。
在 Projects 窗口中,IDE 已经在 Test 节点下面添加了一个新节点,其名称为 RejectedTestCase 。该节点含有两个子节点:Input 和 Output 。Source Editor 中含有一个输入文件的选项卡,即 LoanRequestor.wsdl 。
注意: 如果 Source Editor 未包含一个 Input.xml 选项卡,则在 Projects 窗口中双击 Input 节点打开该文件。
在 Input.xml 文件的 Source Editor 选项卡中,定义各个变量的值。方法是将以下代码行:
<loan:socialSecurityNumber>?string?</loan:socialSecurityNumber> <loan:applicantName>?string?</loan:applicantName> <loan:applicantAddress>?string?</loan:applicantAddress> <loan:applicantEmailAddress>?string?</loan:applicantEmailAddress> <loan:applicantAge>?3?</loan:applicantAge> <loan:applicantGender>?string?</loan:applicantGender> <loan:annualSalary>?1.051732E7?</loan:annualSalary> <loan:amountRequested>?1.051732E7?</loan:amountRequested>
替换为以下代码行:
<loan:socialSecurityNumber>222-22-2222</loan:socialSecurityNumber> <loan:applicantName>John Smith</loan:applicantName> <loan:applicantAddress>8888 Willow Road, Fremont, CA 94538</loan:applicantAddress> <loan:applicantEmailAddress>jsmithj12007@gmail.com</loan:applicantEmailAddress> <loan:applicantAge>15</loan:applicantAge> <loan:applicantGender>male</loan:applicantGender> <loan:annualSalary>100000</loan:annualSalary> <loan:amountRequested>1000000</loan:amountRequested>
从主菜单中,选择 File > Save All 选项。
选择 Input.xml 文件的 Source Editor 选项卡。
使用 ApprovedTestCase 的基准信息填充测试文件:
在 Projects 窗口中,双击 ApprovedTestCase 下面的 Output 节点,以检查该文件的内容。
我们发现,Output.xml 文件最初是空的。
在 Projects 窗口中,右键单击 ApprovedTestCase 节点并从弹出菜单中选择 Run 选项。
注意: 第一次运行的是一个特殊用例,因为 Output.xml 文件为空并且 IDE 无法将测试结果与 Output.xml 文件中的内容进行比较。注意 Output 窗口中的失败消息。
此时将打开 Overwrite Empty Output? 对话框。
单击 Yes 按钮。
IDE 将使用默认信息填充 Output.xml 文件。现在,此版本的文件已含有运行后续测试所需的基准信息。这种版本的文件也称作“金色”文件。
使用 RejectedTestCase 的基准信息填充测试文件:
在 Projects 窗口中,双击 RejectedTestCase 下面的 Output 节点,以检查该文件的内容。
我们发现,Output.xml 文件最初是空的。
在 Projects 窗口中,右键单击 RejectedTestCase 节点并从弹出菜单中选择 Run 选项。
注意: 第一次运行的是一个特殊用例,因为 Output.xml 文件为空并且 IDE 无法将测试结果与 Output.xml 文件中的内容进行比较。注意 Output 窗口中的失败消息。
此时将打开 Overwrite Empty Output? 对话框。
单击 Yes 按钮。
IDE 将使用默认信息填充 Output.xml 文件。现在,此版本的文件已含有运行后续测试所需的基准信息。这种版本的文件也称作“金色”文件。
运行测试:
在 Projects 窗口中,右键单击 ApprovedTestCase 节点并从弹出菜单中选择 Run 选项。
注意,Output.xml 文件的内容已保存并且未被新结果重写。可以双击表示通过测试的节点(Output 节点的正下方)来查看结果。
在 Projects 窗口中,右键单击 RejectedTestCase 节点并从弹出菜单中选择 Run 选项。
注意,Output.xml 文件的内容已保存并且未被新结果重写。可以双击表示通过测试的节点(Output 节点的正下方)来查看结果。
在 Source Editor 中,关闭所有文档。
回到顶部