在WCF服务中处理自定义soap标头

时间:2016-02-16 04:41:39

标签: c# wcf soapheader

我正在创建WCF服务以接收消息(字符串)。它有soap请求有标题,如下所示。我通过互联网找到了很多这样的例子,但我完全无法理解这些。

我发现这篇文章非常有用,但仍然无法使其有效 的 http://weblogs.asp.net/paolopia/handling-custom-soap-headers-via-wcf-behaviors

在阅读了几篇文章后,我开始知道我需要处理以下方面(a)SOAP Header(b)Message Inspector(c)Client Context和(d)Server Context class

  1. 如何处理mustUnderstand标题
  2. 我需要捕获传递的值messageidReplyToToFromAction
  3. 需要使用以下肥皂消息

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
        <soapenv:Header>
        <a:Action s:mustUnderstand="1">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</a:Action>
        <a:From><a:Address>urn:oid:1.2.3.4.5.6.1234567.10.70.142.2</a:Address>
        </a:From>
        <a:MessageID>urn:uuid:3a40ebfe-2abc-4de9-b6f6-06c7962f6050</a:MessageID>
        <a:ReplyTo>
        <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
        </a:ReplyTo>
        <a:To>https://localhost/MyWCFService/Service.asmx</a:To>
    </soapenv:Header>
    

                           ...

1 个答案:

答案 0 :(得分:0)

如果您正在创建WCF服务并尝试检查SOAP消息,则可以实现IDispatchMessageInspector Interface此外,对于WCF客户端,请参阅IClientMessageInspector Interface

这些是一些有用的链接:

http://ianpicknell.blogspot.com.tr/2011/03/implementing-idispatchmessageinspector.html

How to use IDispatchMessageInspector in a WCF Service?