接口服务的方式有多种,在之前模型的章节中介绍过RFC、EJB以及Web服务等类型,当然对于某些外部数据源也可以直接访问数据库层DAO类并调用对应方法。不论使用哪种方式,Web Dynpro中的模型最终都以接口的形式将各种接口服务转化为了WD4J可以识别的Java类。
本章将以Web服务(Web Service)作为接口,模拟Web Dynpro程序与后台数据的交互,包含采购申请查询以及采购申请行项目的明细查询。
开发实例:
1)首先创建一个测试用的Web服务,在NWDS中单击右上角的透视图切换按钮,切换到“Development Infratructure perspective”,如图5-1所示。
图5-1切换到DI透视图
2)右击自定义的SC目录“MyComponents”,选择创建一个“Development Component”,如图5-2所示。
3)在弹出的窗口中选择对应的EJB类型,单击“Next”按钮,如图5-3所示。
4)输入自定义DC的名称,单击“Next”按钮,如图5-4所示。
图5-2 创建开发组件的菜单选择
图5-3 选择项目类型
图5-4 输入项目名称
5)选择对应的编译版本,如图5-5所示。
图5-5 选择编译版本
6)创建完成后,进入Java EE透视图,并右击EJB工程,选择创建一个“Session Bean”,如图5-6所示。
图5-6 选择创建SessionBean菜单
7)按照命名规范输入自定义的包名和类名,单击“Finish”按钮,完成EJB创建,如图5-7所示。
8)创建完毕后,可以看到开发工具自动为EJB工程生成了一个空的类并同时实现了一个接口类。随后在“PurReqWs”类中添加一个方法,实例代码如图5-8所示。
图5-7 输入信息
图5-8 添加代码
9)保存后在接口类中添加获取采购申请方法的声明(见图5-9):
public PurReq getPurReqs(String purReqNo,String purReqType);
图5-9 添加代码
10)由于还未定义采购申请类,因此暂时会有编译错误。下面需要根据需求(数据库定义)创建采购申请和采购申请条目的对象类。右击工程,选择创建一个程序包,如图5-10所示。
图5-10 创建包的菜单选择
11)在随后弹出的对话框中输入需要创建的包名“com.bean”,并单击“Finish”按钮,如图5-11所示。
图5-11 输入包名
12)右击“com.bean”包,选择创建一个类,如图5-12所示。
图5-12 创建类的菜单选择
13)在弹出的对话框中输入需要创建的类名“PurReq”,并单击“Finish”按钮,如图5-13所示。
图5-13 创建类
14)创建完成后,补充各个字段定义(暂时不需要添加get和set方法):
15)定义字段后,在空白处右击,在弹出的快捷菜单中选择“Source”→“Generate
Getters and Setters”,自动创建字段的get和set方法,如图5-14所示。
图5-14 自动生成方法
16)在弹出的对话框中选中所有字段,随后单击“OK”按钮完成创建,如图5-15所示。
(www.daowen.com)
图5-15 选择对应变量
17)此时暂时会有编译错误,因为还没有定义行项目的对象类。再创建一个类,命名为“PurReqItem”,并补充各个字段定义,并用同样的方法创建对应的get和set方法。字段定义如下:
18)创建完成后,保存所有修改即可,如图5-16所示。
19)下面基于当前EJB创建对应的Web服务。右击“PurReqWs”类,在菜单中选择“Web Services”→“Create Web service”,创建一个Web服务,如图5-17所示。
图5-16 创建后项目清单
图5-17 创建Web服务的菜单选择
20)在弹出的对话框中,将配置级别的滑块选择“Develop Service”,并单击“Next”按钮,之后的步骤均使用默认选项直至创建完毕,如图5-18所示。
图5-18 配置服务级别
21)再次进入DI透视图,创建一个EAR工程,用于依赖EJB工程并部署至服务器端。选择新建类型为“Enterprise Application”,并单击“Next”按钮,如图5-19所示。
图5-19 选择项目类型
22)根据实际的命名规范,输入自定义ear名称,并单击“Next”按 钮,如图5-20所示。
23)根据实际需求,选择对应的Java EE版本,并单击“Next”按钮,如图5-21所示。
图5-20 输入项目名称
图5-21 选择编译版本
24)选中需要进行依赖的EJB工程,单击“Finish”按钮,如图5-22所示。
25)保存所有修改,完成两个工程的创建,如图5-23所示。
图5-22 选择依赖工程
图5-23 创建后项目目录
26)接着编译并部署EAR工程,将创建的WebService发布到服务器。右击“myear_pr”工程,选择“Development Component”→“Build”进行编译,编译完成后在同一菜单中选择“Deploy”进行部署,如图5-24所示。
图5-24 部署的菜单选择
27)验证Web服务是否部署成功。用管理员账号登录服务器NWA管理者平台,并进入“Configuration-Connectivity”→“Single Service Administration”,如图5-25所示。
28)在搜索条件中输入“∗purreq∗”并按<Enter>键,搜索创建的Web服务。在成功搜索到对应的服务后,找到下方的“WSDLs”页签,并单击“Test”按钮进行测试,如图5-26所示。
29)单击“Text”按钮会弹出一个新窗口,默认选中的就是定义的接口方法,单击“Next”按钮,如图5-27所示。
图5-25 NWA平台页面
图5-26 搜索对应的服务
图5-27 选择对应方法进行测试
30)在下一步中填写方法的输入参数,单击“Next”按钮,如图5-28所示。
31)得到了服务执行成功的消息提醒,暂时还没有返回值,如图5-29所示。
图5-28 输入对应参数值
图5-29 查看运行结果
32)回到Web服务中,修改之前的“getPurReqs”方法,导入必要的类文件。方法的实例代码如下:
33)再次编译并部署至服务器,进行Web服务的测试,即可得到硬编码的采购申请返回值,如图5-30所示。
图5-30 运行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。