引言
这一系列文章展示了 WebSphere Studio V5.1.1 中的 java Server Faces Technology PReview 的特征,本文是其中的第 5 部分。这一系列文章包括以下几个部分:
第 1 部分:创建 JSF Web 项目和页面模板
第 2 部分:创建 JSF 提交表单
第 3 部分:创建通过 Web Data Objects(WDO,很快就会成为 SDO:Service Data Objects)访问数据的 JSF 应用程序
第 4 部分:使用 Action Handlers 和 JavaBean 数据组件集成 JSF 应用程序与 Enterprise Java Beans
第 5 部分:使用 Web 服务代理组件创建 JSF Web 服务客户端.
在本系列的第 4 部分中,我们介绍了 JSF 如何利用现有的 J2EE 技术,它使用 JavaBean 数据控件来创建一个调用现有的 EJB 应用程序的 JSF 页面。在最后这一部分,我们将使用 JSF Web 服务组件来调用 Web 服务。
JSF Web 服务组件可以在 Internet 上搜索任何标准的 Web 服务,也可以为调用 Web 服务和显示结果构建输入和输出控件。在本练习中,我们将使用第 4 部分中的 JEB JAR 来生成和部署 Web 服务。然后我们使用 JSF Web 服务来生成运行 Web 服务的控件。
要完成这一练习,您需要用到本系列第 4 部分所创建的内容。假如您还没有完成第 4 部分,在下载文件中包含了针对这一部分的解决方案。导入前面文章所介绍的 EAR 文件,并按照第 4 部分所介绍的测试指令来操作。要想运行这一示例,您需要创建第 3 部分所介绍的数据库。假如您还没完成第 3 部分,请导入该解决方案,并运行应用程序,以在本文将使用的服务器配置中创建 JDBC 数据源。
从现有的 EJB 构建 Web 服务
JSF Web 服务组件在 Internet 上搜索现有的 UDDI 注册,然后使用 WSDL 文件生成适当的控件。控件使用标准的 JAX-RPC API 来调用 Web 服务。开始时,我们从现有的 EJB 组件构建一个 Web 服务,部署它,然后使用 JSF 控件从正在运行的 WebSphere application Server Test Environment 生成它。这可以展示我们能够以多快的速度从 WebSphere Studio Application Developer(以下称为 Application Developer)构建 Web 服务和 Web 服务客户端。在本练习中,我们将使用 StockFacade session Bean 中的 accessCompanyInfo 方法:
在 Application Developer 中,从主菜单中选择 File = New = Other...,然后从左边的列表中选择 Web Services,在右面板中选择 Web Service (图 1)。选择 Next。
图 1. 创建一个新的 xml 服务
在 Web Services 对话框(图 2)中,为 Web services type 选择 EJB Web service ,并确保只选中 Start Web service in Web project 和 Create folders when necessary 选项。单击 Next。
图 2. Web 服务选项
在 Service Deployment Configuration 对话框(图 3)中,为 EJB Project 选择 StockSystemEJB ,为 Router project 选择 PersonalTradeJSF 。这将会在 EJB 项目中配置 EJB Web 服务描述符和端点。然后 Web 项目会包含必要的路由器。单击 Next。
图 3. 服务部署配置
然后,点击 Browse EJB beans 按钮(图 4)。
图 4. Web Services EJB Selection
选中 StockFacade Session Bean,然后单击 OK。
图 5. 浏览 EJB Bean
注重,现在会话 bean 信息已填充(图 6)。单击 Next。
图 6. 完成的 Web Service EJB Selection 对话框
在 Web Service Java Bean Identity 对话框(图 7)中,选中 getCompanyInfo 复选框,然后单击 Next。
图 7. Web Service Java Bean Identity
假如您收到 Web Services Warning ,请选择 Yes to All,这样您就可以重载并预生成 EJB Web 服务接口。
图 8. Web Services Warning
在 publication 对话框(图 9)中,选择 Finish。不要选择任何的 UDDI Registry。
图 9. Web Service Publication
完成时,服务器会启动,然后可以部署 Web 服务了。
图 10. 服务器状态