Web Service 客户机向导帮助您生成 Java™ Bean 代理和样本应用程序。样本 Web 应用程序演示如何对代理文件进行编码。
开始之前
先决条件:
- 如果您使用的是 WebSphere® Application Server,那么强烈建议您先启动该服务器再运行 Web Service 向导,这是因为根据您计算机的速度,启动 WebSphere Application Server 可能要花费几分钟时间。要启动该服务器,请在“服务器”视图(窗口 > 显示视图 > 服务器)中选择该服务器,单击鼠标右键并选择启动。
- 发现 WSDL 文档或将 WSDL 文档导入到工作空间中。您可以使用包含服务元素的 WSDL 文件。您可以使用工作空间中的静态 WSDL 文件或位于某个 URL 处的 WSDL 文件,如果工作空间中有充当 JAX-WS Web Service 的已添加注释的 Bean,那么也可以使用由 WebSphere Application Server Feature Pack for Web Services 运行时动态生成的 WSDL 文件。此 WSDL 可在以下 URL 处找到:http://localhost:port/service_project_name/service_nameService?wsdl。例如,在教程中创建的地址簿 JAX-WS Web Service 以及随附 Feature Pack for Web Services 的样本中,可在此 URL 处找到动态 WSDL 文件:http://localhost:9082/jwsAddressBook/AddressBookService?wsdl。
限制: 如果要在任何 Java Platform, Enterprise Edition (J2EE) 容器外部运行简单的 Java Web Service 客户机,那么必须在简单 Java 项目中生成 Web Service 客户机。Web Service 向导无法创建简单的 Java 项目。最接近的形式是实用程序项目,不支持从实用程序项目运行简单的 Java Web Service 客户机(无容器)。在运行 Web Service 客户机向导之前,必须先创建一个简单的 Java 项目。
关于此任务
要从发现的 WSDL 文档生成 Java 客户机代理和样本应用程序:
过程
- 切换至 Java EE 透视图(窗口 > 打开透视图 > Java EE)。
- 单击文件 > 新建 > 其他。选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 客户机向导。单击下一步。
- Web Service 页面:选择您用于生成客户机的 WSDL 文件。(可选)可以选择执行下列操作:
- 选择您要使用滑块完成的 Web Service 客户机开发阶段。这会在其余向导面板上设置几个缺省值。
- 开发:开发 Web Service 客户机的 WSDL 定义和实现。这包括诸如适当时创建将包含所生成代码、WSDL 文件、部署描述符和 Java 文件的模块之类的任务。
- 组装:当目标应用程序服务器要求主管 Web Service 客户机的项目与 EAR 相关联时,确保实现此目标。
- 部署:为客户机创建部署代码。
- 安装:在目标服务器上安装和配置 Web 模块和 EAR。如果需要对 WSDL 文件的端点进行任何更改,那么将在此阶段中进行这些更改。
- 启动:一旦在服务器上安装了该客户机,就会启动该服务器。
- 测试:提供用于测试服务的各种选项,例如使用 Web Service 资源管理器或样本 JSP。
- 选择服务器:将显示缺省服务器。如果要将服务部署到另一台服务器,请单击链接以指定另一台服务器。
此任务支持以下服务器运行时环境:
- WebSphere Application
Server V7.0 或更高版本
- WebSphere Application
Server Liberty 概要文件 V8.5.5
- 选择运行时:将显示缺省运行时。如果要将服务部署到另一个运行时,请单击链接以指定另一个运行时。
- 选择客户机项目:将显示在工作空间中所选择的项目。要选取不同的项目和 EAR,请单击项目链接。 您可以选择 Web 项目、EJB 项目、Java 项目或 Java EE 应用程序客户机项目作为客户机代码的位置。请确保选择作为“客户机 Web 项目”的项目与“服务 Web 项目”不同,否则,服务将被客户机生成的工件覆盖。对于 JAX-WS Web Service,服务器和客户机项目可以共享同一个 EAR。
- 监视 Web Service:将发送 Web Service 流量并流经 TCP/IP 监视器,从而允许您监视 Web Service 生成的 SOAP 流量并测试此流量以检查 WS-I 一致性。或者,您可以按照使用 TCP/IP 监视器来测试 Web Service 中的描述手动设置 TCP/IP 监视器。
- WebSphere JAX-WS Web Service 客户机配置页面:
- 输出文件夹:选择您要在其中生成客户机的 Java 类的文件夹,或者接受缺省值。
- 目标软件包:Web Service 客户机向导从指定的 WSDL 生成一些 Java 文件。缺省情况下,将根据 WSDL 文件中指定的名称空间创建包名。 要覆盖此缺省行为,您可以在 WSDL 文件中为名称空间指定自己的包名。
- 生成可移植客户机:选中此复选框允许您将 Web Service 客户机代码从一台机器移至另一台机器,或者从 WebSphere Application Server 的一个实例移至另一个实例。
如果选择了此选项,那么会将 WSDL 文档及其依赖的所有 XML 模式和其他 WSDL 文档都复制到客户机项目的 WEB-INF/wsdl 下面,然后将指向此副本的 file:relativeURL 注入到 JAX-WS 服务类的静态初始化块中。
- 启用对所生成的客户机的异步调用:如果选择启用异步客户机,那么将为 Web Service 中的每一种方法创建两个额外的方法。这些方法是允许客户机异步工作的轮询和回调方法。
- 指定 JAX-WS 或 JAXB 绑定文件:如果已创建了 JAX-WS 或 JAXB 定制绑定文件,请选中此复选框以使用它们来创建此 Web Service。
- 定制客户机代理类名:您可以接受缺省代理名称,也可以输入自己的代理名称。
- 生成 Web Service 部署描述符:对于 JAX-WS Web Service,将由运行时动态生成部署信息;不再需要静态部署描述符。
选中此复选框可生成这些部署描述符。
- 允许供应商扩展:如果选中此复选框,那么会将 -extension 选项添加至 wsgen 或 wsimport 命令。
-extension 选项指定是否启用或接受 JAX-WS 规范未指定的功能的定制扩展。使用扩展可能会产生不可移植的应用程序或者不与其他实现互操作的应用程序。有关详细信息,请参阅 WebSphere Application Server 信息中心内的 JAX-WS应用程序的 wsgen 命令和 JAX-WS 应用程序的 wsimport 命令主题。
- 定制绑定声明页面: 如果已在先前的页面选择提供 JAX-WS 或 JAXB 绑定文件,那么您可以浏览至它们所在的位置。
- 代理生成配置页面: 如果选择定制客户机代理类名,使用此页来为每个端口指定代理类名。
- “Web Service 客户机测试”页面:
- 测试生成的代理:如果选中此选项,那么将在 Web 浏览器中启动样本客户机,这使您能够测试功能。
- 选择测试工具。您可以在通用服务客户机或 Web Service 资源管理器中测试所生成的代理,也可以生成并使用样本 JAX-WS 2.0 JSP。
- 文件夹:如果已选择通过 JSP 来测试代理,那么您可以选择该 JSP 所在的文件夹,并且可以选择该 JSP 中包括的方法。
- 方法:选择要显示的方法。如果选择启用异步调用,还应列示异步方法。
- 在服务器上运行测试:将自动为您启动服务器。
- 单击完成。
如果已选择测试代理,那么测试客户机将在浏览器窗口中打开。
结果
所生成的 Java Bean 代理为 Web Service 提供了远程过程调用接口。样本 Web 应用程序演示如何编写代理文件。
生成 Java 客户机代理之后,您可以通过代理使用 Web Service 样本 JSP 或 Web Service 资源管理器来测试 Web Service 的方法。
- 如果已选择使用 Web Service 资源管理器来测试 Web Service,那么资源管理器将打开。选择您要测试的操作,输入必需的信息并单击执行。这时,结果将显示在“状态”窗格中。
- 如果已选择要测试 Java 瘦客户机,那么运行 Java 瘦客户机时的系统输出将显示在“控制台”视图中。您可以通过单击运行配置对话框的运行来运行 Java 瘦客户机。作为普通 Java 应用程序,客户机使用相应的 WebSphere Application Server 瘦客户机运行时容器 JAR。