Подписание СНТ в ИС ЭСФ

Добрый день. У кого есть опыт подписания передачи СНТ в ИС ЭСФ, прошу помочь. Пытаюсь интегрироваться с этой системой, используя сервис для аутентификации SessionService и сервис для работы с СНТ на SntWebService. Однако, при попытке передать СНТ получаю ошибку о том, что для указанного пользователя нет активных сессий. Последовательность действий выглядит следующим образом:

  1. Создаю запрос на отправку СНТ. Для каждого <sntInfo> формируется <sntBody> и устанавливается значение SntV1 элементу <version>.
  2. Для каждого <sntInfo> генерируется подпись и заполняются элементы <signature> и <signatureType>. Что именно нужно подписывать из документации не ясно, поэтому пробовал разные варианты: подпись содержимого <sntBody> и всего элемента <sntInfo> (без <signature> и <signatureType>). Подписывать пробовал и с использованием SignedXml из System.Security.Cryptography.Xml.dll, и через сервер, предоставленный в составе SDK. Для подписи использую приватную часть ЭЦП.
  3. Отправляю запрос на создание сессии. При этом используется логин, пароль и открытая часть ключа ЭЦП.
  4. Дополняю <sntUploadRequest> элементом <sessionId> с полученным идентификатором сессии, а в <x509Certificate> записываю публичную часть ключа ЭЦП.
  5. Отправляю запрос на экспорт СНТ:
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Header>
        <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"></Action>
      </s:Header>
      <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <sntUploadRequest xmlns="v1.snt">
          <sessionId xmlns="">bd40a425ced34b7c9f251207180528af-710720401423--ENTREPRENEUR</sessionId>
          <sntInfoList xmlns="">
            <sntInfo>
              <sntBody>&lt;q1:snt xmlns:q1="v1.snt"&gt;&lt;date&gt;2021-11-15&lt;/date&gt;&lt;number&gt;KZPO00011653&lt;/number&gt;&lt;shippingDate&gt;21.12.2020&lt;/shippingDate&gt;&lt;sntType&gt;PRIMARY_SNT&lt;/sntType&gt;&lt;consignee&gt;&lt;countryCode&gt;KZ&lt;/countryCode&gt;&lt;name&gt;Тестовый пользователь&lt;/name&gt;&lt;nonResident&gt;false&lt;/nonResident&gt;&lt;tin&gt;123456789011&lt;/tin&gt;&lt;/consignee&gt;&lt;consignor&gt;&lt;countryCode&gt;RU&lt;/countryCode&gt;&lt;name&gt;Грузоотправитель&lt;/name&gt;&lt;nonResident&gt;true&lt;/nonResident&gt;&lt;/consignor&gt;&lt;contract&gt;&lt;date&gt;21.12.2020&lt;/date&gt;&lt;isContract&gt;true&lt;/isContract&gt;&lt;number&gt;11458521/001&lt;/number&gt;&lt;/contract&gt;&lt;currencyCode&gt;RUB&lt;/currencyCode&gt;&lt;currencyRate&gt;5.67&lt;/currencyRate&gt;&lt;customer&gt;&lt;name&gt;Тестовый пользователь&lt;/name&gt;&lt;tin&gt;123456789011&lt;/tin&gt;&lt;actualAddress&gt;Астана, ул. Туркестан 8&lt;/actualAddress&gt;&lt;countryCode&gt;KZ&lt;/countryCode&gt;&lt;nonResident&gt;false&lt;/nonResident&gt;&lt;registerCountryCode&gt;KZ&lt;/registerCountryCode&gt;&lt;storeId&gt;1417&lt;/storeId&gt;&lt;/customer&gt;&lt;productSet&gt;&lt;totalExciseAmount&gt;0&lt;/totalExciseAmount&gt;&lt;totalNdsAmount&gt;89429.76&lt;/totalNdsAmount&gt;&lt;totalPriceWithTax&gt;834677.76&lt;/totalPriceWithTax&gt;&lt;totalPriceWithoutTax&gt;745248&lt;/totalPriceWithoutTax&gt;&lt;products&gt;&lt;product&gt;&lt;ndsAmount&gt;89429.76&lt;/ndsAmount&gt;&lt;ndsRate&gt;12&lt;/ndsRate&gt;&lt;priceWithTax&gt;834677.76&lt;/priceWithTax&gt;&lt;priceWithoutTax&gt;745248&lt;/priceWithoutTax&gt;&lt;productNumber&gt;1&lt;/productNumber&gt;&lt;tnvedCode&gt;4418740000&lt;/tnvedCode&gt;&lt;truOriginCode&gt;2&lt;/truOriginCode&gt;&lt;measureUnitCode&gt;778&lt;/measureUnitCode&gt;&lt;price&gt;1242.08&lt;/price&gt;&lt;productName&gt;Паркет Tarkett Дуб&lt;/productName&gt;&lt;quantity&gt;600&lt;/quantity&gt;&lt;/product&gt;&lt;/products&gt;&lt;/productSet&gt;&lt;seller&gt;&lt;name&gt;Поставщик&lt;/name&gt;&lt;actualAddress&gt;Россия, г. Омск, пр. Победы 28&lt;/actualAddress&gt;&lt;countryCode&gt;RU&lt;/countryCode&gt;&lt;nonResident&gt;true&lt;/nonResident&gt;&lt;registerCountryCode&gt;RU&lt;/registerCountryCode&gt;&lt;/seller&gt;&lt;shippingInfo&gt;&lt;carriageNumber&gt;17, 18&lt;/carriageNumber&gt;&lt;nonResident&gt;false&lt;/nonResident&gt;&lt;transportTypes&gt;&lt;transportType&gt;RAILWAY&lt;/transportType&gt;&lt;/transportTypes&gt;&lt;/shippingInfo&gt;&lt;sntImport&gt;&lt;importType&gt;IMPORT&lt;/importType&gt;&lt;/sntImport&gt;&lt;/q1:snt&gt;</sntBody>
              <version>SntV1</version>
              <signature>eiV1JcdkwxvHl3tc48/W1Og1ZoM9JQAjPl2u1kJnNig=vjfap6N1bXPYBebDlxBIp/PQC0Xjpc/+Dbl7Q2J0ZPDjQmF5q//MHFnRDSEdAzPvhpi/Ly/Nj2DiW213cLHM455uYStHs1+bess2RSl+nKi9gC5PFZsMSVIulVSqeKJRZfz6MSNW94icsTX3T0WTEXyOh5cHMhOqEPhcm0KZEC+35vTNLVtGi3uvrKJgwsi0tesXIeI0XYzzirxo+hqUkiqmaFOv611ME8LqqzooWm16wfz2uJfuN1p4+vIkGoU1bta0CGEegQWWtnSWLBw8TWFzMvPHKemLtj1cOBTqI5dP0fGZdjcXWgigcasFe6pB/xq9R6aQGqykgSUPSna2qQ==</signature>
              <signatureType>OPERATOR</signatureType>
            </sntInfo>
          </sntInfoList>
          <x509Certificate xmlns="">MIIGaDCCBFCgAwIBAgIUUKodyBYpi7M+ns9EnfNWXY3kUAYwDQYJKoZIhvcNAQELBQAwUjELMAkG
    A1UEBhMCS1oxQzBBBgNVBAMMOtKw0JvQotCi0KvSmiDQmtCj05jQm9CQ0J3QlNCr0KDQo9Co0Ksg
    0J7QoNCi0JDQm9Cr0pogKFJTQSkwHhcNMjAxMjIyMDU1NDUxWhcNMjExMjIyMDU1NDUxWjCBqjEm
    MCQGA1UEAwwd0JPQntCg0KjQldCd0JjQndCQINCV0JvQldCd0JAxGzAZBgNVBAQMEtCT0J7QoNCo
    0JXQndCY0J3QkDEYMBYGA1UEBRMPSUlONzEwNzIwNDAxNDIzMQswCQYDVQQGEwJLWjEdMBsGA1UE
    KgwU0JLQmNCa0KLQntCg0J7QktCd0JAxHTAbBgkqhkiG9w0BCQEWDlNDLUlQRkBNQUlMLlJVMIIB
    IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7096cSJ4/lnOSSyLsFuiBP8KybjP86HBNNZw
    95dhACZGpH3eOkGIdX5GfvfcCnwW6gvCIuANVJmI95iOEbPYv5cs+p1ydcQ9DrpJfFZ1iDW/F7A1
    B8vo6Xg2rGSGb9mMJLb853aJ1HVatdhDekwP7fCG0TlrAVlbyJNgSujNO45WnPsMKnIQmene7ef5
    hcKi1TlnHWEYinib/jo95b5DiWm9KjcHDjDawxTbbxGl5wV7IWNMiGfkOkd6NcUgoJlyMNx8MJ4e
    Go+g9DSfzeY57+1CzymCN6F7HA3uY3jaEe03Vf9ZEQT7rRIWpfFM3gc4tiokgZlXLSKh+CM6GICt
    8QIDAQABo4IB2zCCAdcwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggqgw4D
    AwQBATAPBgNVHSMECDAGgARbanQRMB0GA1UdDgQWBBSyAENNxWyHg31aC68vzYmAcMDApTBeBgNV
    HSAEVzBVMFMGByqDDgMDAgQwSDAhBggrBgEFBQcCARYVaHR0cDovL3BraS5nb3Yua3ovY3BzMCMG
    CCsGAQUFBwICMBcMFWh0dHA6Ly9wa2kuZ292Lmt6L2NwczBWBgNVHR8ETzBNMEugSaBHhiFodHRw
    Oi8vY3JsLnBraS5nb3Yua3ovbmNhX3JzYS5jcmyGImh0dHA6Ly9jcmwxLnBraS5nb3Yua3ovbmNh
    X3JzYS5jcmwwWgYDVR0uBFMwUTBPoE2gS4YjaHR0cDovL2NybC5wa2kuZ292Lmt6L25jYV9kX3Jz
    YS5jcmyGJGh0dHA6Ly9jcmwxLnBraS5nb3Yua3ovbmNhX2RfcnNhLmNybDBiBggrBgEFBQcBAQRW
    MFQwLgYIKwYBBQUHMAKGImh0dHA6Ly9wa2kuZ292Lmt6L2NlcnQvbmNhX3JzYS5jZXIwIgYIKwYB
    BQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5nb3Yua3owDQYJKoZIhvcNAQELBQADggIBAExpcJCZEjqv
    Q5BCaPKfVtozY5CHpj5mSyBjgu9YVqh5mfom+y50M4jvdRdNKBa2CkpCaJ7STuWUpHLemxv848LP
    kDxA66fEEwQTW+E88x8qrmHDhxt2dfGPDy6nHQxFT6d/KcRW0nYr06xyNfgS8KA2n/uTU7gy4fzh
    rsaJ/1DwD6xLTqHIgbMkKVFe5kpf+iacAVm8SucL4opZfWU4P0k35b+AEptl4R1CM3fgbDmYy3rL
    ijU3rrkZ8VJ3R/JLgg7IzvSMzIhsaoRRK3Z5JMdPCRlpKJb845RpwSd3cVoLZP+dasBWHsQ8sOVa
    udwusI7y22ciZdFvpFjRqcJ8nA+eJMg/2zOqhj5yy8PQTTd1v4OGmaFYxopjpxnDfDBO3FVH8yfZ
    ZjTN6MNeGFMlr2reQxpSA3CUOrej4A6oCjBg0E7mw2vnUeQDrwKGFHTTllrol8tvGStV+6fom8EN
    Qgi1iDL10ejDHng9NlsIP8Zc612bCzY0Q4N9Nv7cZE5/Vy0BXb5phjO8dn17dhjs/TnUb/76XChT
    XM+e2EOP5Y+2cFCWVtHMcre+anJHJw++K6w8LDUQVsaiMRtspAIyO8nMnHaOiZp4HdRoEPz81itz
    PHbuJQIVrf/5T+cBJA3rtoTNgZqVQ6/Hqr2FdevkwJeXA992tyIXbhKPGdOuIx97
    </x509Certificate>
        </sntUploadRequest>
      </s:Body>
    </s:Envelope>
    
  6. Получаю ошибку о том, что для пользователя нет открытых сессий:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" />
      <soap:Body>
        <soap:Fault>
          <faultcode>soap:Server</faultcode>
          <faultstring>No open session associated with user.</faultstring>
          <detail>
            <ns3:sessionClosedException xmlns:snt="snt" xmlns:ns3="v1.snt">
              <description>No open session associated with user.</description>
            </ns3:sessionClosedException>
          </detail>
        </soap:Fault>
      </soap:Body>
    </soap:Envelope>
    
  7. Отправляю запрос статуса той же сессии.
  8. Получаю ответ, что сессия активна:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" />
      <soap:Body>
        <ns2:currentSessionStatusResponse xmlns:ns2="esf">
          <status>OK</status>
        </ns2:currentSessionStatusResponse>
      </soap:Body>
    </soap:Envelope>
    

То есть, несмотря на то, что сессия активна, она не ассоциируется с пользователем, чей сертификат приложен к запросу на экспорт СНТ. Из сообщения об ошибке непонятно, в чём именно проблема: в ключах, алгоритме подписи, каких-то заголовках и т.п. Кто с таким сталкивался? Очень нужна помощь.

Добрый день. А Вы уверены что обращаетесь к одному и тому же url при авторизации и запросе на отправку СНТ/ЭСФ?