【问题标题】:View SOAP XML from WCF Creating Client从 WCF 创建客户端查看 SOAP XML
【发布时间】:2011-11-29 21:09:40
【问题描述】:

我已按照以下说明使用 SVCUTIL.exe 创建了一个 WCF 客户端:http://msdn.microsoft.com/en-us/library/ms733133.aspx

它会创建一个 app.config 和一个 soapproxy.cs 文件以供使用。

我想不出任何方法来获取原始 XML 以进行调试。

Google 有很多向 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

【问题讨论】:

  • 您是否尝试过使用代理,例如Fiddler
  • Fiddler 似乎没有给我我需要看到的东西,也许是因为它正在对其进行编码?
  • 确保 IIS 用户对该目录的权限。可能是 IIS 用户无法写入该文件/目录。

标签: c# wcf web-services soap


【解决方案1】:

为了快速调试,我使用 WCF 测试客户端。它非常简单,适用于 WCF 和 ASMX 服务。我还使用它来使用用 Java(带有 wsdl 定义)编写的第三方应用程序的服务。

Start -&gt; Visual Studio 2010 Command Prompt -&gt; wcftestclient.exe

Start -&gt; Visual Studio 2008 Command Prompt -&gt; 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    相关资源
    最近更新 更多