我已按照以下说明使用SVCUTIL.exe创建了一个WCF客户端:http://msdn.microsoft.com/en-us/library/ms733133.aspx
它创建一个app.config和一个soapproxy.cs文件来使用。
我无法想出任何获取原始XML以进行调试的方法。
谷歌有很多例子在web.config文件中添加了traceextension,但是我没有web.config文件......我找到的例子是web.service而不是System.ServiceModel;
我需要访问XML soap调用,以便我可以调试它?
更新:我正在尝试编辑配置跟踪以查看SOAP XML。
我已将此添加到app.config文件中
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="CardSpace">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.IO.Log">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.Runtime.Serialization">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.IdentityModel">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\log\Traces.svclog" />
</sharedListeners>
</system.diagnostics>
</configuration>
但是,出现的跟踪日志似乎不包含原始XML
为了快速调试,我使用WCF测试客户端。它非常简单,适用于WCF和ASMX服务。我还使用它来使用用Java编写的第三方应用程序(使用wsdl定义)来使用服务。
Start -> Visual Studio 2010 Command Prompt -> wcftestclient.exe
要么
Start -> Visual Studio 2008 Command Prompt -> wcftestclient.exe
这里的信息:http://msdn.microsoft.com/en-us/library/bb552364.aspx
这样就可以查看XML / SOAP请求和响应。
我也使用XMLTraceListener。这会在我的应用程序路径中为我生成跟踪,并且我能够查看整个请求/响应正文。
这是我的web.Config部分
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All">
<listeners>
<add name="xmlTraceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add name="xmlTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xmlTraceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="ApplicationTrace.svclog" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>