我需要使用UsernameToken授权公开WCF服务。 除了一件事情,一切都按预期进行。
客户端有一条固定消息,其中包含http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd定义之外的其他标签 添加此标签元素后,安全验证将失败。
我想忽略这个附加参数(我不需要使用它)。可以这样做吗?
我尝试禁用安全性,但mustundersand属性需要启用它。
标题正常工作
<wsse:Security SOAP-ENV:mustUnderstand="true">
<wsse:UsernameToken>
<wsse:Username>x</wsse:Username>
<wsse:Password>y</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
出现错误的标题
<wsse:Security SOAP-ENV:mustUnderstand="true">
<wsse:UsernameToken>
<wsse:Username>x</wsse:Username>
<wsse:Password>y</wsse:Password>
<wsse:PartnerID>z</wsse:PartnerID>
</wsse:UsernameToken>
</wsse:Security>
添加PartnerID时出现错误:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</faultcode>
<faultstring xml:lang="en-US">An error occurred when verifying security for the message.</faultstring>
</s:Fault>
</s:Body>
</s:Envelope>