使用 IBM WebSphere JAX-WS 运行时环境从 Java Bean 创建 Web Service

Web Service 向导会帮助您创建新的 Web Service,对其进行配置以进行部署以及将该 Web Service 部署至服务器。将 Web Service 部署之后,该向导会帮助您生成客户机代理和样本应用程序以测试该 Web Service。完成测试后,您可以使用“导出”向导将 Web Service 发布至 UDDI 业务注册中心。

开始之前

关于此任务

要使用 IBM® WebSphere JAX-WS 运行时环境从 Bean 创建 Web Service,请执行下列操作:

过程

  1. 切换至 Java EE 透视图(窗口 > 打开透视图 > Java EE)。
  2. 在“企业资源管理器”视图中,选择您已创建或导入到 Web 项目的源文件夹中的 Bean。
  3. 单击文件 > 新建 > 其他。选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 向导。单击下一步
  4. Web Service 页面中,选择自底向上 Java Bean Web Service 作为您的 Web Service 类型。(可选)可以选择执行下列操作:
    1. 选择您要使用滑块完成的 Web Service 开发阶段。这将在其余向导面板上设置几个缺省值:
      • 开发:这将开发 Web Service 的 WSDL 定义和实现。这包括诸如适当时创建将包含所生成代码、WSDL 文件、部署描述符和 Java 文件的模块之类的任务。
      • 组装:当目标应用程序服务器要求主管 Web service 或客户机的项目与 EAR 相关联时,此阶段确保实现此目标。
      • 部署:此阶段创建服务的部署代码。
      • 安装:此阶段将在目标服务器上安装和配置 Web 模块和 EAR。如果需要对 WSDL 文件的端点进行任何更改,那么将在此阶段中进行这些更改。
      • 启动:一旦在服务器上安装了 Web Service,此阶段就会启动服务器。
      • 测试:这将提供用于测试服务的各种选项,例如使用通用服务客户机、Web Service 资源管理器或样本 JSP。
    2. 选择服务器运行时:将显示缺省服务器。如果要将服务部署到另一台服务器,请单击服务器链接并指定另一台服务器。
      此任务支持以下服务器运行时环境:
      • WebSphere Application Server V7.0 或更高版本
      • WebSphere Application Server Liberty 概要文件 V8.5.5
    3. 选择 Web Service 运行时:将显示缺省运行时。要将服务部署到 IBM WebSphere JAX-WS 运行时,请单击运行时链接,并在打开的窗口中选择该运行时。
    4. 选择服务项目和服务 EAR 项目:将显示在工作空间中所选择的项目。只有已启用 Java 5.0、Java 6.0 或 Java 7.0 构面的 Web 项目才受支持。要选择不同的项目和 EAR,请单击项目链接,或者输入一个名称并允许向导为您创建一个项目。 请确保选择的“客户机 Web 项目”与“服务 Web 项目”不同,否则生成的客户机工件将覆盖该服务。对于 JAX-WS Web Service,服务器和客户机项目可以共享同一个 EAR。
    5. 如果要创建客户机,请选择要生成的代理的类型并对客户机重复步骤 1 到步骤 4。 稍后,可以使用下面描述的步骤来创建客户机:使用 IBM WebSphere JAX-WS 运行时环境从 WSDL 文档生成 Web Service 客户机
    6. 监视 Web Service:这将发送 Web Service 流量并流经 TCP/IP 监视器,从而允许您监视 Web Service 生成的 SOAP 流量并测试此流量以检查 WS-I 一致性。或者,您可以按照使用 TCP/IP 监视器来测试 Web Service 中的描述手动设置 TCP/IP 监视器。
  5. WebSphere JAX-WS 自底向上 Web Service 配置:
    • 委派类名:输入委派 Java 实现的类名,或接受缺省值。委派类是包装器,包含 Java Bean 和 JAX-WS 注释中由运行时识别为 Web Service 的所有方法。它与源 Bean 生成到同一包中。
    • Java 至 WSDL 映射样式:该样式定义发送至和发送自 Web Service 的消息的编码样式。参数样式决定方法的参数是否代表整个消息体,或参数是否是合并在以该操作命名的顶级元素中的元素。 有效组合有 RPC、Document/Wrapped、或 Document/Bare。
    • 为方法参数生成 @WebParam 注释:如果选中此复选框,那么方法声明中的参数将具有针对各自参数设置的 @WebParam 注释。@WebParam 注释用于定制从单个参数至 Web Service 消息部分和 XML 元素的映射。有关 @WebParam 注释的更多详细信息,请在 WebSphere Application Server 信息中心内的 JAX-WS 注释主题中搜索 javax.jws.WebParam
      提示: 缺省情况下,您可以通过转至工具栏并选择窗口 > 首选项 > WebSphere > JAX-WS 代码生成以在“首选项”页面中启用此选项。选中自底向上部分下面的为方法参数生成 @WebParam 注释复选框。
    • 启用 SOAP 1.2 绑定:如果未选择此项,那么将使用 SOAP 1.1 绑定。有关 SOAP 1.1 和 1.2 之间差异的更多信息,请参阅:SOAP 概述
    • 启用 MTOM 支持:如果选中此复选框,那么将启用 SOAP 消息传输优化机制以优化二进制内容的传输。有关 MTOM 的更多信息,请参阅:MTOM 概述
    • 生成 WSDL 文件到项目中:因为委派类中的注释用于告诉运行时 Bean 是一个 Web Service,所以不再于项目中自动生成静态 WSDL 文件。运行时可以根据 Bean 中的信息动态生成 WSDL 文件。选择此项可为 Web Service 生成静态 WSDL 文件。如果计划稍后创建客户机或者发布其他用户的 WSDL,那么这是一个方便的选项。可使用向导的下一页来配置 WSDL。
    • 生成 Web Service 部署描述符:对于 JAX-WS Web Service,将由运行时动态生成部署信息;不再需要静态部署描述符。 选中此复选框将生成它们。
    • 允许供应商扩展:如果选中此复选框,那么会将 -extension 选项添加至 wsgenwsimport 命令。 -extension 选项指定是否启用或接受 JAX-WS 规范未指定的功能的定制扩展。使用扩展可能会产生不可移植的应用程序或者不与其他实现互操作的应用程序。有关详细信息,请参阅 WebSphere Application Server 信息中心内的 JAX-WS应用程序的 wsgen 命令JAX-WS 应用程序的 wsimport 命令主题。
    注: 如果该 Bean 已具有 @javax.jws.WebService 注释,那么将禁用此页面上的大多数字段,因为向导不需要为您生成委派 Bean。您将只能选择生成 WSDL 文件。如果只将 @javax.jws.WebService 添加至 Java Bean 并且要启用其他选项(例如 SOAP 1.2 绑定或 MTOM),那么您应该退出该向导并移除注释或通过使用注释文档继续创建 Web Service。该向导将不允许您将新注释附加至已存在且已部分添加注释的 Bean。
  6. WebSphere JAX-WS WSDL 接口配置页面: 如果已在上一页中选择生成 WSDL 文件,那么将显示此页面,以允许您配置生成的 WSDL 文件。您可以进行以下配置:
    • WSDL 目标名称空间
    • WSDL 服务名称
    • WSDL 端口名称
  7. 测试 Web Service 页面:如果已选择测试 Web Service,请选择用于所生成的 Web Service 的测试工具,然后单击启动。这将在 Web Service 资源管理器或通用服务客户机中打开该 Web Service。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。单击下一步
  8. 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 客户机。如果选择了此选项,那么向导的下一页将允许您浏览至定制绑定声明文件。
    • 定制客户机代理类名:如果您要更改缺省端口名称至服务实现类名映射,请选中此复选框。
  9. 定制绑定声明页面:如果已选择指定 JAX-WS 或 JAXB 绑定文件,那么您可以在此页面上浏览这些文件。
  10. 代理生成配置页面:对于已定义的每一个端口,您可以输入代理类的名称,也可以接受缺省值。
  11. “Web Service 客户机测试”页面:
    • 测试生成的代理:如果选中此选项,将在 Web 浏览器中启动样本客户机,以便您测试其功能。
    • 选择测试工具。您可以在通用服务客户机或 Web Service 资源管理器中测试所生成的代理,也可以生成并使用样本 JAX-WS 2.0 JSP。
    • 文件夹:如果已选择通过 JSP 来测试代理,那么您可以选择该 JSP 所在的文件夹,并且可以选择该 JSP 中包括的方法。
    • 方法:选择要显示的方法。如果选择启用异步调用,还应列示异步方法。
    • 在服务器上运行测试:选择此选项将自动为您启动服务器。

结果

创建 Web Service 之后,可能会发生以下情况,具体取决于您选择的选项:
限制:

从依赖于包含在单独 JAR 文件中的其他类的某个类文件生成 JAX-WS Web Service 时,项目需要 Java EE 模块依赖关系或用户库中的参考(例如外部 JAR 文件)。当 JAR 包含在 EAR 项目中时,可以使用 Java EE 模块依赖关系。

在 JAR 属于 WebSphere Application Server 上配置的共享库的一部分时,必须先使用用户库来配置项目以进行部署,再生成 Web Service。要将用户库添加至项目,请执行下列操作:
  1. 右键单击项目,然后单击属性 > Java 构建路径 >
  2. 单击添加库 > 用户库 > 用户库
  3. 创建用户库,并向其添加实用程序 JAR。
指示主题类型的图标 任务主题
信息中心的条款和条件 | 反馈

时间戳记图标 最近一次更新时间: 2014 年 4 月 17 日

文件名:twsbeanjaxws.html