Мне нужно предоставить сервис WCF с авторизацией UsernameToken.Все работает, как и ожидалось, кроме одного.
Клиент имеет исправленное сообщение, которое включает в себя дополнительный тег, которого нет в 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>