练习 1.5:验证 Web service 通信量符合 WS-I
在开始之前,必须完成练习 1.4:实现温度转换方法。
验证 Web service 通信量符合 WS-I
要确保 SOAP 信封请求和响应对符合 WS-I,需要通过“TCP/IP 监视器”来控制 Web Service 通信量:
当使用 Web service 或 Web service 客户机向导创建
Web service 时,可以选择自动设置并运行“TCP/IP 监视器”。或者,您可以通过下列步骤手工设置“TCP/IP 监视器”:
- 在样本应用程序中,调用 getEndPoint 方法。记录此端点。Web Service 的缺省端点为:
- WebSphere 或
Apache Axis 运行时环境:http://localhost:<port>/<web module
context root>/services/<port>
- IBM SOAP
运行时环境:http://localhost:<port>/<web module context root>/servlet/rpcrouter。
- 创建一个服务器来充当 TCP/IP 监视器:
- 从窗口菜单中选择首选项。
- 在“首选项”窗口中,展开因特网,然后选择 TCP/IP 监视器。
- 选择有活动时显示“TCP/IP 监视器”视图复选框。
- 在“TCP/IP 监视器”列表下面,单击添加。“新建监视器”对话框打开。
- 指定以下设置:
选项 |
描述 |
本地监视端口 |
指定本地机器上的一个唯一端口号。 |
主机名 |
指定运行服务器的机器的主机名或 IP 地址。 |
端口 |
指定远程服务器的端口号。 |
类型 |
指定来自 Web 浏览器的请求类型是通过
HTTP 还是 TCP/IP 发送。如果选择了 HTTP 选项,则会修改来自
Web 浏览器的请求以便 HTTP 头指向远程机器,并且如果在同一个连接中接收到多个
HTTP 请求,则会分开这些请求。如果选择了 TCP/IP 选项,则逐字节发送所有请求。 |
- 为了通过监视器路由 Web Service,需要更改 Web Service 客户机的端点。“TCP/IP 监视器”侦听端口 9081。
在步骤 1 中使用的 Web 浏览器窗口中,调用 setEndPoint 方法并更改端点以便使它指向端口 9081。例如,缺省值将是:http://localhost:9081/web_module_context_root/servlet/rpcrouter。再次调用
getEndPoint 方法以确保已实现更改。
- 在“方法”窗格中选择 Web Service 方法。调用此方法。
- 通过在“服务器”视图中单击“TCP/IP 监视器”选项卡来切换至“TCP/IP 监视器”视图。这将显示正在通过 “TCP/IP 监视器”路由的请求和响应对。它看上去类似于下图:

- 要确保 Web Service SOAP 流量符合 WS-I,可通过单击
图标来生成日志文件。在打开的对话框中,为日志文件选择一个名称并指定想将它存储在何处。将针对 WS-I 一致性验证此日志文件。可以在 XML 编辑器中打开日志文件来检查它的内容。
通过查看总结中的内容来完成教程。