Web Service 向导会帮助您创建新的 Web Service,对其进行配置以进行部署以及将该 Web Service 部署至服务器。将 Web Service 部署之后,该向导会帮助您生成客户机代理和样本应用程序以测试该 Web Service。完成测试后,您可以使用“导出”向导将 Web Service 发布至 UDDI 业务注册中心。
开始之前
- 如果您使用的是 WebSphere® Application Server,那么强烈建议您先启动该服务器再运行 Web Service 向导,这是因为根据您计算机的速度,启动 WebSphere Application Server 可能要花费几分钟时间。要启动该服务器,请在“服务器”视图(窗口 > 显示视图 > 服务器)中选择该服务器,单击鼠标右键并选择启动。
- 创建 Bean 或将 Bean 导入 Web 项目或 Java™ 项目的 Java 源文件夹。
要导入,请选择 Java 资源:src 文件夹,然后从“文件”菜单中选择并浏览至软件包的位置。
关于此任务
要使用 IBM® WebSphere JAX-WS 运行时环境从 Bean 创建 Web Service,请执行下列操作:
过程
- 切换至 Java EE 透视图(窗口 > 打开透视图 > Java EE)。
- 在“企业资源管理器”视图中,选择您已创建或导入到 Web 项目的源文件夹中的 Bean。
- 单击文件 > 新建 > 其他。选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 向导。单击下一步。
- 在 Web Service 页面中,选择自底向上 Java Bean Web Service 作为您的 Web Service 类型。(可选)可以选择执行下列操作:
- 选择您要使用滑块完成的 Web Service 开发阶段。这将在其余向导面板上设置几个缺省值:
- 开发:这将开发 Web Service 的 WSDL 定义和实现。这包括诸如适当时创建将包含所生成代码、WSDL 文件、部署描述符和 Java 文件的模块之类的任务。
- 组装:当目标应用程序服务器要求主管 Web service 或客户机的项目与 EAR 相关联时,此阶段确保实现此目标。
- 部署:此阶段创建服务的部署代码。
- 安装:此阶段将在目标服务器上安装和配置 Web 模块和 EAR。如果需要对 WSDL 文件的端点进行任何更改,那么将在此阶段中进行这些更改。
- 启动:一旦在服务器上安装了 Web Service,此阶段就会启动服务器。
- 测试:这将提供用于测试服务的各种选项,例如使用通用服务客户机、Web Service 资源管理器或样本 JSP。
- 选择服务器运行时:将显示缺省服务器。如果要将服务部署到另一台服务器,请单击服务器链接并指定另一台服务器。
此任务支持以下服务器运行时环境:
- WebSphere Application
Server V7.0 或更高版本
- WebSphere Application
Server Liberty 概要文件 V8.5.5
- 选择 Web Service 运行时:将显示缺省运行时。要将服务部署到 IBM WebSphere JAX-WS 运行时,请单击运行时链接,并在打开的窗口中选择该运行时。
- 选择服务项目和服务 EAR 项目:将显示在工作空间中所选择的项目。只有已启用 Java 5.0、Java 6.0 或 Java 7.0 构面的 Web 项目才受支持。要选择不同的项目和 EAR,请单击项目链接,或者输入一个名称并允许向导为您创建一个项目。 请确保选择的“客户机 Web 项目”与“服务 Web 项目”不同,否则生成的客户机工件将覆盖该服务。对于 JAX-WS Web Service,服务器和客户机项目可以共享同一个 EAR。
- 如果要创建客户机,请选择要生成的代理的类型并对客户机重复步骤 1 到步骤 4。 稍后,可以使用下面描述的步骤来创建客户机:使用 IBM WebSphere JAX-WS 运行时环境从 WSDL 文档生成 Web Service 客户机
- 监视 Web Service:这将发送 Web Service 流量并流经 TCP/IP 监视器,从而允许您监视 Web Service 生成的 SOAP 流量并测试此流量以检查 WS-I 一致性。或者,您可以按照使用 TCP/IP 监视器来测试 Web Service 中的描述手动设置 TCP/IP 监视器。
- WebSphere JAX-WS
自底向上 Web Service 配置:
注: 如果该 Bean 已具有 @javax.jws.WebService 注释,那么将禁用此页面上的大多数字段,因为向导不需要为您生成委派 Bean。您将只能选择生成 WSDL 文件。如果只将 @javax.jws.WebService 添加至 Java Bean 并且要启用其他选项(例如 SOAP 1.2 绑定或 MTOM),那么您应该退出该向导并移除注释或通过使用注释文档继续创建 Web Service。该向导将不允许您将新注释附加至已存在且已部分添加注释的 Bean。
- WebSphere JAX-WS WSDL 接口配置页面: 如果已在上一页中选择生成 WSDL 文件,那么将显示此页面,以允许您配置生成的 WSDL 文件。您可以进行以下配置:
- WSDL 目标名称空间
- WSDL 服务名称
- WSDL 端口名称
- 测试 Web Service 页面:如果已选择测试 Web Service,请选择用于所生成的 Web Service 的测试工具,然后单击启动。这将在 Web Service 资源管理器或通用服务客户机中打开该 Web Service。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。单击下一步。
- WebSphere JAX-WS Web Service 客户机配置页面:如果已选择生成客户机,那么您可以在此页面上为该客户机指定以下选项:
- 输出文件夹:这是将用于生成客户机代码的位置。
- 目标软件包:Web Service 客户机向导将生成一些 Java 文件。缺省情况下,将根据 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 客户机。如果选择了此选项,那么向导的下一页将允许您浏览至定制绑定声明文件。
- 定制客户机代理类名:如果您要更改缺省端口名称至服务实现类名映射,请选中此复选框。
- 定制绑定声明页面:如果已选择指定 JAX-WS 或 JAXB 绑定文件,那么您可以在此页面上浏览这些文件。
- 代理生成配置页面:对于已定义的每一个端口,您可以输入代理类的名称,也可以接受缺省值。
- “Web Service 客户机测试”页面:
- 测试生成的代理:如果选中此选项,将在 Web 浏览器中启动样本客户机,以便您测试其功能。
- 选择测试工具。您可以在通用服务客户机或 Web Service 资源管理器中测试所生成的代理,也可以生成并使用样本 JAX-WS 2.0 JSP。
- 文件夹:如果已选择通过 JSP 来测试代理,那么您可以选择该 JSP 所在的文件夹,并且可以选择该 JSP 中包括的方法。
- 方法:选择要显示的方法。如果选择启用异步调用,还应列示异步方法。
- 在服务器上运行测试:选择此选项将自动为您启动服务器。
结果
创建 Web Service 之后,可能会发生以下情况,具体取决于您选择的选项:
- 如果已选择使用 Web Service JSP 来测试所生成的代理,那么将在 Web 浏览器中于以下 URL 处启动该代理:http://localhost:port/WebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp。您可以通过选择一种方法,再输入该方法的值,然后单击调用来使用此样本应用程序测试 Web Service。
该方法的结果将显示在结果窗格中。
- 如果已选择使用通用测试客户机来测试所生成的代理,那么将在浏览器窗口中通过与以下类似的 URL 启动该通用测试客户机:http://localhost:port/UTC/preload?object=BeanPackage.BeanServiceProxy。
在“对象”下面,展开代理存根以显示 Web Service 的方法。单击想要测试的方法,在“参数”窗格中输入值并单击调用。这时,将自动生成结果。
- 如果已选择使用 Web Service 资源管理器测试 Web Service,那么资源管理器将打开。选择需要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。
限制: 从依赖于包含在单独 JAR 文件中的其他类的某个类文件生成 JAX-WS Web Service 时,项目需要 Java EE 模块依赖关系或用户库中的参考(例如外部 JAR 文件)。当 JAR 包含在 EAR 项目中时,可以使用 Java EE 模块依赖关系。
在 JAR 属于 WebSphere Application Server 上配置的共享库的一部分时,必须先使用用户库来配置项目以进行部署,再生成 Web Service。要将用户库添加至项目,请执行下列操作:
- 右键单击项目,然后单击
- 单击
- 创建用户库,并向其添加实用程序 JAR。