查看 WCF 生成的 SOAP 消息体

Posted

技术标签:

【中文标题】查看 WCF 生成的 SOAP 消息体【英文标题】:View SOAP message body generated by WCF 【发布时间】:2012-01-16 09:48:06 【问题描述】:

如何查看 SOAP 消息以检查 MessageContract 中的 IsWrapped 属性,如下例所示:

[MessageContract]
public class HelloGreetingMessage

  private string localGreeting;

  [MessageBodyMember(
    Name = "Salutations", 
    Namespace = "http://www.examples.com"
  )]
  public string Greeting
  
    get  return localGreeting; 
    set  localGreeting = value; 
  

如何查看:

/*
 The following is the request message, edited for clarity.

  <s:Envelope>
    <s:Header>
      <!-- Note: Some header content has been removed for clarity.
      <a:Action>http://GreetingMessage/Action</a:Action> 
      <a:To s:mustUnderstand="1"></a:To>
    </s:Header>
    <s:Body u:Id="_0" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <HelloGreetingMessage xmlns="Microsoft.WCF.Documentation">
        <Salutations xmlns="http://www.examples.com">Hello.</Salutations>
      </HelloGreetingMessage>
    </s:Body>
 </s:Envelope>
 */

【问题讨论】:

见Tracing 【参考方案1】:

您可以使用Fiddler 或FireShark 等工具来检查您的请求和响应。也可以调试 Https 流量。

【讨论】:

这很好用。由于某种原因,我的跟踪文件中没有肥皂消息。

以上是关于查看 WCF 生成的 SOAP 消息体的主要内容,如果未能解决你的问题,请参考以下文章

WCF SOAP

为 WCF 消息设置 HTTP 内容类型

使用 WCF 生成 SOAP 请求 (RSA-SHA256 PKCS #1 v1.5)

C# 生成没有 XML 根元素的 SOAP 信封

WCF 如何从 wsdl 和 xsd 生成服务 - 合同优先

XSD 第一个合约 - WCF Soap Web 服务