前几天在网上找了一圈怎样利用MS SOAP Toolkit中提供的Trace Utility来截取.NET下开发的Web Service的SOAP 消息,刚开始尽管端口都配置对了,但怎么都截取不到,后来终于忘了在哪里看到一眼,需要点小配置才能实现截取。现在说一下:
1- 首先将MSSoapT的端口都配置好:
Local port:9000 (也就是让MSSoapT监听本地9000端口,然后我们就可以通过这个端口来访问Web服务)
Destination:localhost (Web服务的url是http://localhost:1505/WSScore/Service.asmx)
Destination Port:1505 (Web服务的url是http://localhost:1505/WSScore/Service.asmx)
2- 在“调用Web服务的.NET项目”中添加Web引用时,添加url如下:
url是http://localhost:9000/WSScore/Service.asmx (因为我们要MSSoapT来监听这个9000端口,我们访问9000端口上的Web服务,它就会自动定向到1505端口,发送和返回的SOAP消息都从这个9000端口走)
3- 修改“调用Web服务的.NET项目”中的app.config文件,在<configuration>........</configuration>里面添加如下内容:



4- 搞定了。现在就可以查看到SOAP消息了。对于跨平台与Java下应用程序通信时的SOAP截取,只需要配置好MSSoapT的端口就可以了。
另:同样可以用来监听的工具还有tcpTrace,不过中文看到的是乱码~~~建议还是用这个SOAP Toolkit,很好用。
关于下载MSSOAPT工具:Microsoft SOAP Toolkit Version 3 在网上就能方便下载到,另外在Fox Pro 7之后的安装包里也提供了SOAP Toolkit的安装程序和例子。
祝大家好运!