使用 TCP/IP 监视器来测试 Web Service

创建了 Web Service 和 Web Service 客户机之后,可以使用 TCP/IP 监视器来监视 Web Service 的 SOAP 流量。

先决条件:

当使用 Web Service 或 Web Service 客户机向导创建 Web Service 时,可以选择自动设置和运行 TCP/IP 监视器。或者,可以通过完成下列步骤来手动设置 TCP/IP 监视器:

  1. 在样本应用程序中,调用 getEndPoint 方法。记录此端点。Web Service 的缺省端点是:http://localhost:<port>/<web module context root>/services/<port>
  2. 创建充当 TCP/IP 监视器的服务器:
    1. 从“窗口”菜单中选择首选项
    2. 在“首选项”窗口中,展开运行/调试,然后选择 TCP/IP 监视器
    3. 选择当存在活动时显示 TCP/IP 监视器视图复选框。
    4. 在“TCP/IP 监视器”列表下面,单击添加。“新建监视器”对话框打开。
    5. 指定下列设置:
    选项 描述
    本地监视端口 指定本地机器上的一个唯一端口号。
    主机名 指定运行服务器的主机名或 IP 地址。
    端口 指定远程服务器的端口号。
    类型 指定是通过 HTTP 还是 TCP/IP 发送来自 Web 浏览器的请求类型。如果选择了 HTTP 选项,那么会修改来自 Web 浏览器的请求,以便 HTTP 头指向远程机器,如果在同一连接中接收到多个 HTTP 请求,那么会分开各请求。如果选择了 TCP/IP 选项,那么会逐字节发送所有请求。
    超时 指定您希望在再次尝试连接之前监视器等待多长时间。
  3. 要通过监视器发送 Web Service,就必须更改 Web Service 客户机的端点。TCP/IP 监视器侦听端口 9081。在步骤 1 中使用的 Web 浏览器窗口中,调用 setEndPoint 方法并更改端点以使它指向端口 9081。例如,缺省值应为:http://localhost:9081/web_module_context_root/servlet/rpcrouter。再次调用 getEndPoint 方法以确保实现更改。
  4. 在“方法”窗格中选择 Web Service 方法。调用此方法。
  5. 通过选择“服务器”视图中的“TCP/IP 监视器”选项卡来切换到“TCP/IP 监视器”视图。这将显示要路由通过 TCP/IP 监视器的请求/响应对。它看起来将如下图所示:
    请求和响应流量的截屏
  6. 要确保 Web Service SOAP 流量符合 WS-I,可以通过单击 WS-I 验证图标 图标来生成日志文件。在打开的对话框中,选择日志文件的名称并指定文件存储位置。
将验证此日志文件是否符合 WS-I。可以在 XML 编辑器中打开此日志文件来检查其内容。