我正在创建WCF服务来接收消息(字符串)。它有soap请求,如下所示。我通过互联网找到了很多例子,但我无法彻底理解这些例子。在WCF服务中处理自定义soap头文件
我发现这篇文章是非常有帮助的,但仍然不能使它工作 http://weblogs.asp.net/paolopia/handling-custom-soap-headers-via-wcf-behaviors
阅读一些文章之后,我才知道,我需要处理以下区域(一)SOAP头(B )消息检查(C)客户端上下文和(d)服务器环境类
- 如何处理的mustUnderstand头
- 我需要捕捉值传递
messageid
,ReplyTo
,To
,From
,Action
以下的SOAP消息需要如果要创建一个WCF服务,你要消耗
<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>
...
如果你能拦截消息作为'Message'对象,你可以阅读'Header'财产。在这种情况下使用'IDispatchMessageInspector'。 –
@AmitKumarGhosh示例代码将有所帮助 – Shai
嗨shai。为什么你需要自定义行为。您是否希望在每个请求的应用程序中进行任何日志记录或审计? –