Подпись блоков в soap сообщение

Проект на asp библиотека Interop.KalkanCryptCOMLib.dll
Работа с сервисом на SB шлюзе
При отправке сообщения на SB шлюз получаю сообщение об ошибке:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:MustUnderstand</faultcode><faultstring>MustUnderstand headers: [{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood.</faultstring></soap:Fault></soap:Body></soap:Envelope>

Сформированный xml, подписывается двумя методами из библиотеки

  1. Блок data из запроса(requestData) через метод SignXml
  2. Блок Body для(soap:Envelop) через метод SignWSSE
    Отправка методом POST, дополнительных каких то headers в request не устанавливал.
    Подскажите где ошибка ? или порядок создания правильного сообщения
    Спасибо.

Добрый день!
Подскажите, зачем Вы подписываете двумя методами? Этого требует принимающая сторона??

Не понимаю суть ошибки, так как она сформирована не KalkanCryptCOM-библиотекой.

Наверно, WSS чтобы исключить внешних вторжений в тело запроса, а Data чтобы гарантировать атомарность данных. Почему так, я немогу вам сказать.

В таком случае проверка должна происходить в обратном порядке. Если на Вашей стороне проверка с помощью метода VerifyXML() проходит успешно, то значит ошибка возникает в связи с транспортировкой подписи на шлюз.