引言
这一系列文章展示了 WebSphere Studio V5.1.1 中的 Java Server Faces Technology Preview 的特征,本文是其中的第 5 部分。
在本系列的 第 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 服务
开发JSF应用程序-websphere studio">
在 Web Services 对话框(图 2)中,为 Web services type 选择 EJB Web service,并确保只选中 Start Web service in Web project和 Create folders when necessary选项。单击 Next。
图 2. Web 服务选项