我必须编写一个WCF拦截器,它将扩展WCF行为
我的扩展程序的行为是它会为请求添加自定义标头....
自定义标题将如下所示
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-8"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>TeStUsErNaMe1</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText" >TeStPaSsWoRd1</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" >f8nUe3YupTU5ISdCy3X9Gg==</wsse:Nonce>
<wsu:Created>2011-05-04T19:01:40.981Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
我写了一个CustomCredential,它会在请求中添加标题。
我的问题是如何扩展此WCF行为
正如使用CustomCredentials
我想要下面的内容
client.ChannelFactory.Endpoint.Behaviors.Remove(); client.ChannelFactory.Endpoint.Behaviors.Add(new CustomCredentials());
我的WCF拦截器中的
答案 0 :(得分:0)
这是一篇关于如何做到这一点的好文章。它详细解释了它,并且在需要Nonce和Created的WS-Security Web服务上运行良好。
http://www.west-wind.com/weblog/posts/2012/Nov/24/WCF-WSSecurity-and-WSE-Nonce-Authentication