У меня проблема с заголовком SOAP, созданным в моем клиенте C #.Сервер отправляет обратно ошибку
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<s:Header xmlns:s="http://www.w3.org/2003/05/soap-envelope" />
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:MustUnderstand</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">MustUnderstand headers: [{http://www.w3.org/2005/08/addressing}To] are not understood.</soap:Text>
</soap:Reason>
</soap:Fault>
</soap:Body>
</soap:Envelope>
У меня сложилось впечатление, что я удаляю все заголовки SOAP с помощью следующего кода.
internal class CustomMessageInspector : IEndpointBehavior, IClientMessageInspector
{
public object BeforeSendRequest( ref Message request, IClientChannel channel )
{
request.Headers.Clear();
return null;
}
...
}
Однако после активации System.ServiceModel.MessageLogging в app.config, ( WCF - Проверка отправляемых / получаемых сообщений? ), я вижу, что сервер правильный- вот, есть заголовок «Кому», для которого «mustUnderstand» имеет значение 1:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:To s:mustUnderstand="1">https://ws-single-transactions-int-bp.nmvs.eu:8443/WS_SINGLE_TRANSACTIONS_V1/SinglePackServiceV30</a:To>
</s:Header>
Есть какие-нибудь мысли, как я могу предотвратить добавление этого заголовка?
Большое спасибо.