是否有一种方法可以获取. net中SOAP请求生成的原始XML。我不知道如何准确地问这个问题,但现在开始我添加了web引用并调用了一些方法。是否有一种方法可以知道发送了什么XML。仅用于调试目的,这样快速而肮脏的方法就足够了另外,由于使用了SSL,因此在这里进行剪切没有任何帮助
xxhby3vn1#
我通常使用Fiddler来执行这类操作。在配置文件中粘贴以下内容:-
<system.net> <defaultProxy enabled="true"> <proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False"/> </defaultProxy> </system.net>
启动fiddler,你应该能够监控所有来自你的应用程序的http流量。在关闭fiddler之前,只需将enabled设置为false。
up9lanfz2#
可以创建SoapExtensionAttribute并将其应用于Web服务方法。建立衍生自SoapExtensionAttribute的类别。建立另一个衍生自SoapExtension的类别。SoapExtensionAttribute的类型应该是SoapExtension的类型。一旦进入SoapExtension,就可以访问数据被序列化/反序列化的时刻。下面是4个具体阶段:
SoapMessageStage.BeforeSerialize SoapMessageStage.AfterSerialize * SoapMessageStage.BeforeDeserialize * SoapMessageStage.AfterDeserialize
带'*'的是您要访问流的阶段。从那里,您可以记录进出Web服务的XML。这就是我们在这里做的,它的工作完美。以下链接详细解释了更多信息:http://progtutorials.tripod.com/soapext.htm希望对你有所帮助。
aor9mmx13#
通过网络发送任何数据的最简单方法是安装wireshark,并在原始数据通过网络堆栈时对其进行监听。这样做的好处是,您可以在任何其他应用程序或服务修改数据之前,真正看到正在发送的数据。web上有很多examples and blogs。你也可以用它来做replay soap requests。它对其他网络也很好-不仅仅是SOAP,还有普通的HTTP和TCP,甚至串行通信。
fjnneemd4#
您可以尝试:http://www.pocketsoap.com/tcpTrace/。
4条答案
按热度按时间xxhby3vn1#
我通常使用Fiddler来执行这类操作。
在配置文件中粘贴以下内容:-
启动fiddler,你应该能够监控所有来自你的应用程序的http流量。在关闭fiddler之前,只需将enabled设置为false。
up9lanfz2#
可以创建SoapExtensionAttribute并将其应用于Web服务方法。
建立衍生自SoapExtensionAttribute的类别。
建立另一个衍生自SoapExtension的类别。
SoapExtensionAttribute的类型应该是SoapExtension的类型。
一旦进入SoapExtension,就可以访问数据被序列化/反序列化的时刻。
下面是4个具体阶段:
带'*'的是您要访问流的阶段。从那里,您可以记录进出Web服务的XML。
这就是我们在这里做的,它的工作完美。
以下链接详细解释了更多信息:http://progtutorials.tripod.com/soapext.htm
希望对你有所帮助。
aor9mmx13#
通过网络发送任何数据的最简单方法是安装wireshark,并在原始数据通过网络堆栈时对其进行监听。这样做的好处是,您可以在任何其他应用程序或服务修改数据之前,真正看到正在发送的数据。web上有很多examples and blogs。
你也可以用它来做replay soap requests。它对其他网络也很好-不仅仅是SOAP,还有普通的HTTP和TCP,甚至串行通信。
fjnneemd4#
您可以尝试:http://www.pocketsoap.com/tcpTrace/。