我在 C# 中有一个 Web 服务客户端,我在其中获取 Web 服务返回的对象并将其传递给以下方法以创建一个 XML 文件:
XmlSerializer s = new XmlSerializer(typeof(T));
TextWriter sw = new StreamWriter(filename);
s.Serialize(sw, obj);
sw.Close();
但是,有些字段是 Web 服务端声称要发送的,而生成的 xml 不包含这些字段(IU 在 VS 中完成了“更新服务”...)。有没有办法转储 web 客户端在较低级别接收到的数据?
两个很好的选择:
Wireshark 比 Fiddler 侵入性更小,因为它不会更改客户端所做的任何事情,但 Fiddler 支持 HTTPS,只要您可以说服您的客户端接受它的证书(它实际上是一个中间人就协议(protocol)而言攻击 - 但 Fiddler 是中间人)。
此外,我非常确定您可以在 .NET 中添加 SOAP 过滤器等来记录进出的内容 - 但 Wireshark 和 Fiddler 的优点在于它们与您的进程分开,因此您可以绝对确定结果没有被您的代码或配置中的任何东西弄乱。
我是一名优秀的程序员,十分优秀!