应用WSDK -附录如何使用SOAP Trace Utility进行调试

** 应用 WSDK ** ** -附录如何使用 SOAP Trace Utility ** ** 进行调试 **


小气的神

2002-12-05

Article Type: Overview

难度等级: 3/9

版本: 1.20

这个附录是用来说明,我们在 Web Services 应用开发过程中,如何查看 Web Services Client 和 Web Services Server 端进行交换时的 SOAP 消息和 XML 变化情况,以帮助程序员了解程序运行的情况。

附录中使用的实例是基于应用 WSDK 系列的第三篇: ** 实践 Web Services 的数字签名 ** 进行的。第一篇也有关于 SOAP Trace Utility 的说明,但是不知为什么,一直没有被 CSDN 批准。

£ 本附录的运行环境 Microsoft XP SP1 , Visual Studio.NET , .NET Framework 1.0, SOAP Toolkit 3.0

u ** 安装 Microsoft SOAP Toolkit Version 3 **

£ 如果你没有安装该软件请去 ** 下面的链接进行 Download . **

u ** 运行 SOAP Trace Utility **

£ 点击 ** Start ** 开始菜单 , 点击 ** All ** ** Programs ** , 点击 ** Microsoft SOAP Toolkit Version 3 ** , 然后选择 ** Trace Utility ** .

£ ** Trace Utility ** 程序启动后从菜单中选择 ** File ** , 选择 ** New ** , 然后点击 ** Formatted Trace ** .

£ 接受默认的设置 . 缺省的设置将在 ** MSSOAPT.EXE ** 运行的机器的 8080 端口打开一个 TCP/IP 的 Socket 端口 . 所有的 TCP/IP 请求都将被重定向到 ** Forward to ** 组合框中的主机和端口上 . 作为缺省所有的请求将被转到本机的 Web 服务器上 . 当然你也可以将请求转到其它的机器上,特别是不在一台机器上的调试时就非常有用了 .

£ 点击 ** OK ** . 现在 ** MSSOAPT.EXE ** 开始监听 8080 端口 .

u ** Change the client to go through MSSOAPT.EXE **

£ 打开你在 ** Visual Studio .NET ** 中调用 Web Service 客户端的项目。

£ 在 ** Solution Explorer ** 工具栏下 , 选中代表这个项目的节点并且点右键,然后选择 ** Add ** , 然后点击 ** Add New Item ** .

£ 在对话框的类型中选择 ** Text File ** . 然后在 ** Name ** 文本框 , 输入 ** app.config ** .

£ 点击 ** Open ** .

£ 在 ** app.config ** : 文件中加入下面的代码

< configuration >

< appSettings >

** < add key ="SecurityURL" **

** ** ** value ** ** =" http://localhost:8080/Myproject/WSDK/SignSOAPUsingName/SignSOAPusingName.asmx" ** ** ** ** /> ** 保存这个文件并且运行 . Visual Studio .NET 将复制 ** app.config ** 文件到该客户端可执行文件 ** SignSOAPusingName.exe ** 相同的目录下 . app.config 中内容将被复制并自动改名为 ** SignSOAPusingName.exe.config ** . 执行文件将读取 ** SignSOAPusingName.exe.config ** 文件中 ** appSettings ** 节点下的配置信息。

如果客户端产生了调用 Web Services 的代理类 (Proxy), 我们将在代理类的构造函数中增加代码,来从一个配置文件中读取我们添加的配置信息:

public Service1() {

string urlSetting =

System.Configuration.

ConfigurationSettings.AppSettings["SecurityURL"];

if ((urlSetting != null )) {

this .Url = urlSetting;

}

else {

this .Url = "http://localhost/Myproject/WSDK/SignSOAPUsingName/SignSOAPusingName.asmx";

}

}

之前没有建立 ** app.config ** , 代理类的构造函数总是执行 else 子句中的代码 . 现在 ** SignSOAPusingName .exe.config ** 存在 , 则会先执行 if 语句 .

£ 运行 ** SignSOAPusingName .exe ** ( 或按 F5).

£ 切换到 ** MSSOAPT.EXE ** . 使用这个工具 , 你能在 ** Message # n ** 节点看到 SOAP 消息的变化 . 在 ** HTTPHeaders ** 头节点看到任何 HTTP 头的变化 . 你也能在 ** Binary ** 节点看到二进制制的变化 .

** 最新的消息,你可以到下面的地址获得最新的 ** ** WSDK ** ** 版本,它现在改名叫WSE: ** ** **

Web Services Enhancements 1.0 for Microsoft .NET


特别:

本文原创, CSDN 署名首发,所有文字和图片版权所有。未经授权请勿传播、转载或改编。

如果有问题或建议, 请发电子邮件给 [email protected]

欢迎访问我的 WebSite : www.dotNETTools.org

Published At
Categories with Web编程
Tagged with
comments powered by Disqus