练习 1.3:创建 Web service
在开始之前,必须完成练习 1.2:为 JMS 创建服务器和服务器配置。
WSDL 文档描述在何处部署 Web Service 及此服务提供了什么操作。要创建 WSDL
文档、部署描述符文件、代理和样本,遵循以下步骤:
- 单击文件 > 新建 > 其它。选择 Web Service 以显示各种 Web Service 向导。选择 Web Service 向导。单击下一步以启动 Web Service 向导。
- 在 Web service 类型字段中,确保显示了 EJB Web service 并且选择了下列复选框:
- 在 Web 项目中启动 Web Service
- 生成代理
- 必要时创建文件夹
不要选择“测试 Web Service”;用来测试 Web Service 的“Web Service 资源管理器”不支持基于 JMS 的 SOAP。
- 在“选择对象”页上,应预先填写了 JMSEAR,而 TestEJB bean 应列示在 EJB Bean 表中。选择 TestEJB 并单击下一步。
- “Web Service 部署设置”页面允许您从受支持的运行时协议和部署服务器中进行选择。将使用缺省运行时环境 IBM WebSphere V6 和在前一任务中创建的服务器“WebSphere V6 服务器”。确保所选的
EJB 和客户机项目(其中“客户机”类型是 Web)与下图中的那些 EJB 和客户机项目相匹配。由于向导将为您创建客户机项目,因此,您可以手工输入客户机项目的名称。单击下一步。

- 在“Web service EJB 配置”页上,应选择作为 JMSEAR 的一部分导入的“路由器”项目。在选择传输下面,选择基于 JMS 的 SOAP。此部分中大多数的必需信息都应该已经预先填写了。您将必须手工输入下列值:
- 确保选择了队列作为 JMS 目标。此样本并不适用于所有主题。
- 选择了 jms/ws_tutorial_queue 作为目标 JNDI 名称。
- 选择了 jms/ws_tutorial_qcf 作为 JMS 连接工厂。
- 选择了 TestEJB 作为分派请求的端口组件的名称。端口组件的名称就是目标服务名称,因此,TestEJB 将用作目标服务名称。
- 选择了 eis/ws_tutorial_JMSRouter 作为 ActivationSpec JNDI 名称。
已完成的页看起来应该类似于以下内容:

- 在向导的“Web Service Java Bean 标识”页中,可以指定 Web service URI、作用域和生成的文件的名称。还可以选择将包括在
Web Service 中的方法、编码样式并为 Web Service 配置安全性。单击下一步以接受缺省值。
要点:Web Service 的统一资源标识(URI)是由选择转为 Web Service 的构件的向导自动生成的。缺省的基本 URI http://tempuri.org/
用来构造与实体没有任何唯一关联的 URI。主机名 tempuri 来自 WSDL 规范,并且代表临时 URI。当不想使 URI 全局唯一时,使用缺省的基本 URI。建议不要将
http://tempuri.org/ 用作稳定的、修正了的实体的基本 URI。
- 因为 JMS 不符合 WS-I(除非您已将 WS-I 一致性设置设置为忽略),所以,将显示一条错误消息,警告您存在这种不一致性。如果单击详细信息,则会显示产生警告消息的原因。可以安全地忽略此警告;单击忽略。
- 在“Web Service 代理”页上,确保选择了生成代理。客户机代理向 Web Service 提供远程过程调用接口。不要为生成的代理启用安全性。单击下一步。
- 使用“Web Service 客户机测试”页来选择下列选项:
- 选择生成样本 Web Service 样本 JSP 作为测试工具。
- 选择 JSP 所在的文件夹并确保所有方法都包括在 JSP 中。
- 选择在服务器上运行测试以自动为您启动服务器。
单击完成。
- 这就在 Web 浏览器中的以下 URL 启动了代理 JSP:http://localhost:9080/JMSClient/sample/TestEJB/TestClient.jsp。通过选择一种方法,为该方法输入一个值,然后单击调用,这样就可以使用此样本应用程序来测试 Web Service。该方法的结果(即您在文本字段中输入的回送字符串)将显示在结果窗格中。
查看总结中的内容来结束教程。