使用 Apache Axis 运行时环境从 Java bean 创建 Web Service

Web Service 向导帮助您创建新的 Web Service、配置它以进行部署并将 Web Service 部署到服务器。一旦部署了 Web Service,向导将帮助您生成客户机代理和样本应用程序来测试该 Web Service。当完成测试后,可以使用“导出”向导将 Web Service 发布到“UDDI 企业注册中心”。

先决条件:
  1. 如果要将 Apache Jakarta Tomcat servlet 容器用作服务器,则必须安装它,为它配置实例,并创建一个以它作为目标的 Web 项目,如创建 Apache Tomcat 服务器和 Web 项目中所述。
  2. 如果您正在使用 WebSphere® 服务器,则创建一个以适当服务器为目标的动态 Web 项目,如创建 WebSphere 服务器和 Web 项目中所述。因为启动 WebSphere Application Server 可能要花费几分钟时间(这取决于计算机的速度),所以强烈建议您在运行 Web Service 向导之前启动服务器。要启动服务器,在“服务器”视图(窗口 > 显示视图 > 服务器)中选择它,单击右键,然后单击启动
  3. 创建 bean 或将 bean 导入 Web 项目的 Java™ source 文件夹中。
要使用 Apache Axis 1.0 运行时环境从 bean 创建 Web Service:
  1. 切换至 J2EE 透视图(窗口 > 打开透视图 > J2EE)。
  2. 在“项目资源管理器”视图中,选择您创建的 bean 或导入至 Web 项目源文件夹中的 bean。
  3. 单击文件 > 新建 > 其它 选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 向导。单击下一步
  4. “Web Service”页面:选择 Java bean Web Service 作为 Web Service 类型。可以选择执行下列操作:
    • 启动 Web 项目中的 Web Service - 如果不选择此选项,则将必须手工启动 Web Service。必须选择此选项才能启用此页面上的其它选项。
    • 启动“Web Service 资源管理器”以将 Web Service 发布到 UDDI 注册中心。
    • 为 Web Service 生成 Java bean 客户机代理。生成的 Java bean 客户机代理提供了 Web Service 的远程过程调用接口。
    • 测试 Web Service - 这允许您在生成代理之前在“Web Service 资源管理器”中测试 Web Service。
    • 通过“TCP/IP 监视器”来发送 Web Service 通信量,“TCP/IP 监视器”允许您监测由 Web Service 生成的 SOAP 流量,还可以测试此流量以保持 WS-I 一致性。注意,这仅对于 Tomcat V4.0 和 V4.1 才受支持。如果您正在使用 Tomcat V5.0,并且想监视 Web Service 通信量,则需要手工设置 TCP/IP 监视器,如 ../../com.ibm.etools.wsi.test.tools.validate.doc/tasks/tmonitor.html 中所述。
  5. “选择对象”页面:选择将用来创建 Web Service 的 Java bean。
  6. “服务部署配置”页面:指定服务器和客户机部署设置。
    1. 单击编辑并选择 Apache Axis 1.0 运行时环境,然后选择想要运行 Web Service 和 Web Service 客户机的服务器。 如果想要使用 IBM® SOAP 运行时环境或 IBM WebSphere 运行时环境,请参阅相应的任务。
    2. 选择想要创建 Web Service 的 Web 项目和将与它相关联的 EAR。 如果它们尚不存在,则向导将为您创建它们。
    3. 选择想要创建 Web Service 客户机的项目的类型和名称。如果输入现有项目的名称,则项目类型字段必须与现有项目的项目类型字段相匹配。如果输入一个尚不存在的项目的名称,则向导将为您创建该项目。注意,Axis 和 SOAP 运行时客户机支持的唯一项目类型是 Web 项目。如果想要在 Java、EJB 或应用程序客户机项目中创建客户机,则必须为客户机选择 WebSphere 运行时环境。
    4. 选择现有 EAR 或输入一个唯一名称以使 Web Service 客户机与 Web Service EAR 以外的另一 EAR 相关联。注意:对 Web Service 和 Web Service 客户机选择不同的 EAR 可以减少遇到运行时错误的机会,但是将使用较多系统资源。
  7. 将显示一条消息,指出您作出了不符合 WS-I 的选择。 Apache Axis 运行时环境是不符合 WS-I 的。选择忽略
  8. “Web Service Java Bean 标识”页面:将列示 Web Service URI 和 WSDL 名称。 具有下列选项:
    • 选择要显示的方法。
    • 选择编码样式。建议 Axis 运行时环境采用 RPC/编码作为编码样式。此编码方法不符合 WS-I。
    • 选择是否想定制包至名称空间的映射。
    单击下一步
  9. “Web Service 包至名称空间映射”页面:如果在上一面板选择了定义包至名称空间的定制映射,则可以在此面板上通过单击添加来输入定制映射对。
  10. “Web Service 测试”页面:如果选择了测试 Web Service,则为生成的 Web Service 选择测试工具。 这将在“Web Service 资源管理器”中打开 Web Service。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。单击下一步
  11. “Web Service 代理”页面:如果已经选择了生成代理,则选择是否想要定制包至名称空间的映射。
  12. “Web Service 客户机测试”页面:使用此页面来选择下列选项:
    1. 选择测试工具。可以在“通用测试客户机”或者“Web Service 资源管理器”中测试生成的代理,也可以生成样本 Web Service JSP。
    2. 如果选择通过 JSP 来测试代理,则可以选择 JSP 所在的文件夹,并且可以选择将包括在 JSP 中的方法。
    3. 选择在服务器上运行测试以自动为您启动服务器。
  13. “Web Service 发布”页面:选择是否想将此 Web Service 发布至 UDDI 注册中心。单击完成 注意:您可能会看到一条警告,它指出从 Java 生成 WSDL 时出错。ClassNotFound:<bean name>。可以安全地忽略此错误。
创建 Web Service 之后,根据您选择的选项不同,可能会发生下列情况:
  • 如果选择了使用 Web Service JSP 来测试生成的代理,则会在 Web 浏览器中的以下 URL 处启动代理:http://localhost: port/ WebProjectClient/sampleBeanName/ WebServiceName/TestClient.jsp。通过选择一种方法,为该方法输入一个值,然后单击调用,这样就可以使用此样本应用程序来测试 Web Service。该方法的结果将显示在结果窗格中。
  • 如果选择了使用“通用测试客户机”来测试生成的代理,则将在浏览器窗口中的以下 URL 处启动该代理:http://localhost:9080/UTC/preload?object= BeanPackage. BeanServiceProxy。在“引用”窗格中的“对象引用”下面,展开代理存根以显示 Web Service 的方法。单击想要测试的方法,在“参数”窗格中输入值并单击调用。将在下面生成结果。
  • 如果选择了使用“Web Service 资源管理器”来测试 Web Service,则“Web Service 资源管理器”将打开。选择想要测试的操作,输入必需的信息并单击执行。结果将显示在“状态”窗格中。
  • 如果选择了发布 Web Service,则会启动“Web Service 资源管理器”,它将显示把 Web Service 发布到“IBM UDDI 测试注册中心”所必需的页面。遵循发布 Web Service 中的指示信息来完成此任务。

要点:如果方法包含不受样本支持的类型(例如,数组、索引属性和集合),则将从样本中省略这些方法,并且您将接收到警告消息。

一旦从 bean 创建了 Web Service,就可以使用“通用测试客户机”来测试 Web Service 的方法,然后将 Web Service 发布到“UDDI 企业注册中心”。有关使用“Web Service 资源管理器”来发布 Web Service 的更多信息,参阅“发布 Web Service”。有关“通用测试客户机”的更多信息,参阅“服务器工具”联机帮助。

父主题: 使用 Apache Axis 运行时环境创建 Web Service

相关概念
Web Service 开发的工具
Web Service 开发
Web Service 运行时环境

相关任务
开发 Web Service
使用 Web Service 资源管理器

相关参考
WSDL 文档

使用条款 | 反馈
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.