我经常打电话给可能由经典网络服务开发的第三方网络服务(ASMX) or WCF
。我只是从VS IDE中添加了他们的Web服务引用,当我们从一端调用该Web服务时,就会生成一个xml并将其发布到Web服务url中。当我需要捕获Web服务发布到Web服务URL的XML时,我需要使用Fiddler,但是我需要以编程方式捕获要输出的xml。
我不知道如何从客户端以编程方式捕获它。我需要一个简单的解决方案来捕获用于开发Web服务的任何技术。我想从外部进行挂接,以便在调用Web服务时将触发一个事件,并且从该事件中我应该能够获得整个xml.looking,以寻求详细帮助。谢谢
没有获取任何传出SOAP的单个扩展点。您可以构建自己的代理,并强制所有消息通过它,但是会降低性能,并增加常规开销。但是,每个框架都有其自己的扩展点。您可以实现每个接口,然后调用一个处理两个接口的接口。例如,在WCF中,您可以实现跟踪侦听器以接收有关传出SOAP的消息。在这里查看示例。使日志如下所示:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\logs\messages.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000"/>
</diagnostics>
</system.serviceModel>
并放置您自己的类,而不是System.Diagnostics.XmlWriterTraceListener。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句