** 应用 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