These are chat archives for springjazzy/GIS_JKH_Integration

24th
Mar 2016
shsa
@shsa
Mar 24 2016 02:01
выяснил, что работа с их сервисами через штатные средства .NET вполне осуществима, в частности меня сильно беспокоила фраза из Методических рекомендаций "Передача данных между внешней системой и тестовым стендом выполняется по протоколу HTTPS с шифрованием по ГОСТ", поскольку считал, что штатные средства .NET не умеют шифровать по ГОСТ. На данный момент удалось сделать первый успешный запрос при работе с СИТ только средствами .NET, и теперь у меня вопрос: это недоработка их тестового стенда или следует считать, что они неправильно выразились в Методических рекомендациях, т.к. в Регламенте взаимодействия внешних систем с ГИС написано: "3. Установление защищенного соединения по протоколу HTTPS с сертификатом, сформированным с использованием ГОСТ Р 34.10-2001 и алгоритмом хеширования ГОСТ Р 34.11-94.", т.е. мы не видим ни слова о шифровании по ГОСТ, а только о защищенном канале с ГОСТовским сертификатом, либо эти две фразы несут один и тот же смысл, но просто моих знаний не хватило этого понять.
Дмитрий
@naut13
Mar 24 2016 03:45
@shsa Меня тоже интересовал этот вопрос, особенно после того, как на семинаре один из разработчиков сделал акцент на то, что канал должен передавать данные по протоколу TLS. У меня появились опасения, что при переходе на промышленную версию передача данных может перестать работать. После семинара я подошел к к тому разработчику и уточнил этот вопрос. Он мне сказал, что если работает на тестовом стенде - будет работать и на промышленном. Разницы в реализации у них нет.
Анатолий
@Anat56
Mar 24 2016 03:50
https - это уже шифрованный канал
он шифруется сертификатами
протоколов несколько, TLS один из них
shsa
@shsa
Mar 24 2016 03:52
@Anat56 вот в этой области знаний у меня и не хватает, могу только как обезьянка по чужим примерам работать (
Анатолий
@Anat56
Mar 24 2016 03:52
Да у меня с шифрованием и со многими вещами знаний не хватает. Понемногу разбираемся
Vladimir
@asnetsoft
Mar 24 2016 05:39
На семинаре разработчиков поднимался вопрос о реализации делегирования прав на раскрытие информации другими операторам? Обещали на одном из семинаров реализацию данного функционала к марту, но до сих пор тишина.
Дмитрий
@naut13
Mar 24 2016 05:40
В апреле обещали реализовать.
http://www.youtube.com/watch?v=ZYHmtn_xOsc запись мартовского семинара
Vladimir
@asnetsoft
Mar 24 2016 06:11
Отлично, надеюсь со сроками не подведут ))
ndbn
@ndbn
Mar 24 2016 06:14
Что то гиттер тормозит уже периодически
Vershinin Sergey
@versh23
Mar 24 2016 06:14
@naut13 спасибо за видео
Анатолий
@Anat56
Mar 24 2016 06:22
@ndbn Сообщение выскакивало, что новая версия
Анатолий
@Anat56
Mar 24 2016 07:20
Что-то тестовый сайт лег
при этом сервисы работают
Хотел в ЛК проверить результаты
Vershinin Sergey
@versh23
Mar 24 2016 07:22
у меня работает
У меня Welcome to JBoss EAP 6
страница открывается
Syber79
@Syber79
Mar 24 2016 07:24
Хм...
а какой тогда правильный?
Анатолий
@Anat56
Mar 24 2016 07:25
хм, а почему у меня порт такой был
как вчера был открыт так не менял
Syber79
@Syber79
Mar 24 2016 07:26
похоже у них их несколько...
Анатолий
@Anat56
Mar 24 2016 07:27
а у меня что-то ругался и наверно на этот порт переадресовал
Syber79
@Syber79
Mar 24 2016 07:27
Кстати, вопрос: Насколько вообще обязательно это подписание?Пока куда не тыкался, обмен с сервисами без подписания проходит.
И регистрацию и выгрузку справочников прошел без подписей запросов, просто по тунелю.
Анатолий
@Anat56
Mar 24 2016 07:28
Не обязательно в НСИ и Организации (сервисы с common)
Daniel
@mortifactor
Mar 24 2016 07:28
вроде, есть какие-то методы, которые работают без подписи
Анатолий
@Anat56
Mar 24 2016 07:29
остальные все требуют подписи
вернее так - где есть SenderId, там обязательно
Syber79
@Syber79
Mar 24 2016 07:30
Сейчас при попытке добавить дом от имени РСО просто говорит - AUT011009: Операция не разрешена
Но в описалове везде сигнатуры 0..1 - не обязательны
Добавление услуг то же прошло без подписания... Там SenderID есть
ImportAdditionalServices - сработала
Анатолий
@Anat56
Mar 24 2016 07:33
импорт домов , договоров управления не идет без подписи
Syber79
@Syber79
Mar 24 2016 07:34
мы РСО... без управления
На яве засада пока подписывать... Даже думать на сей счет больно... Надеялся, что можно обойтись... :(
Анатолий
@Anat56
Mar 24 2016 07:38
Ланитовцы выложили ведь
о выше уже написали
Trusted Java только нужна
Syber79
@Syber79
Mar 24 2016 07:38
А она денег хочет... Бюджетом на этот год нету
ndbn
@ndbn
Mar 24 2016 07:38
да тут уже трудно инфу находить, хоть форум отрывай, а обсуждали много полезного
Vershinin Sergey
@versh23
Mar 24 2016 07:39
когда jira заведут) непомню - там есть база знаний? или тока тикет менеджер?\
ndbn
@ndbn
Mar 24 2016 07:40
тикеты
и они скорей всего будут закрытые, т.е. ты видишь свои обращения, а не чужие
Vershinin Sergey
@versh23
Mar 24 2016 07:40
я так ща семинар смотрю, вроде сказали будут видны тикеты
ndbn
@ndbn
Mar 24 2016 07:41
а я только дома смогу смотреть :(
чё там тогда заводить, сейчас такое время что в 2 клика поднимается такая штука
Syber79
@Syber79
Mar 24 2016 07:42
На "AUT011009: Операция не разрешена" - заявку суппорту отправил, посмотрим, что ответят... Заставят ли подписывать...
Vershinin Sergey
@versh23
Mar 24 2016 07:44
@Syber79 можете xml показать? сейчас отправил запрос на создание дома, без подписи, тоже РСО - без ошибок
Syber79
@Syber79
Mar 24 2016 07:45

Зпрос:
<?xml version = "1.0" ?>

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<ns2:RequestHeader xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:ns2="http://dom.gosuslugi.ru/schema/integration/8.6.0.6/" xmlns:ns3="http://dom.gosuslugi.ru/schema/integration/8.6.0.6/house-management/">
<ns2:Date>2016-03-23T13:48:46.190+05:00</ns2:Date>
<ns2:MessageGUID>f561d1c9-89a3-4a21-8c28-e38de4a8e8f8</ns2:MessageGUID>
<ns2:SenderID>70b81617-667c-4095-a6d9-6f91afbb2608</ns2:SenderID>
</ns2:RequestHeader>
</S:Header>
<S:Body>
<ns3:importHouseRSORequest xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:ns2="http://dom.gosuslugi.ru/schema/integration/8.6.0.6/" xmlns:ns3="http://dom.gosuslugi.ru/schema/integration/8.6.0.6/house-management/">
<ns3:ApartmentHouse>
<ns3:ApartmentHouseToCreate>
<ns3:BasicCharacteristicts>
<ns3:NoKNData>true</ns3:NoKNData>
<ns3:FIASHouseGuid>6e4093fc-40e0-4322-9bad-df31725b56f5</ns3:FIASHouseGuid>
<ns3:OlsonTZ>
<ns2:Code>4</ns2:Code>
<ns2:GUID>6e681d23-d385-49df-b941-664639cb7910</ns2:GUID>
<ns2:Name>4-я часовая зона</ns2:Name>
</ns3:OlsonTZ>
</ns3:BasicCharacteristicts>
<ns2:TransportGUID>49857dcd-75dc-4168-bd13-b2617126c4da</ns2:TransportGUID>
</ns3:ApartmentHouseToCreate>
</ns3:ApartmentHouse>
</ns3:importHouseRSORequest>
</S:Body>
</S:Envelope>

Ответ:
<?xml version = "1.0" ?>

<soap:Envelope xmlns:ns4="http://dom.gosuslugi.ru/schema/integration/8.6.0.6/" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/8.6.0.6/house-management/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>AUT011009: Операция не разрешена</faultstring>
<detail>
<ns4:Fault>
<ns4:ErrorCode>AUT011009</ns4:ErrorCode>
<ns4:ErrorMessage>Операция не разрешена</ns4:ErrorMessage>
<ns4:StackTrace>ru.lanit.hcs.integration.common.exception.SoapFaultException: Operation IMPORT_HOUSE_RSO_DATA not allowed by EIS
at ru.lanit.hcs.integration.common.spring.processor.ValidationProcessor.processBody(ValidationProcessor.java:279)
at ru.lanit.hcs.integration.common.spring.processor.ValidationProcessor.process(ValidationProcessor.java:104)
at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:111)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:82)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)
at org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:137)
at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:78)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:293)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:212)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCha

я подозреваю, что ОГРН из сертификата шифрования канала не соответствует организации которой соответствует SenderID
потому, что SenderID мы получили на ОГРН из тестового кабинета... А при продлении сертификата нас заставили прописать другой ОГРН, на который получить SenderID не возможно - нет такой компании на тестовом стенде
сменить ОГРН в кабинете так же не возможно
Vershinin Sergey
@versh23
Mar 24 2016 07:53
так senderid текущий с полномочиями РСО?
Syber79
@Syber79
Mar 24 2016 07:55
senderid - да, с полномочиями
ndbn
@ndbn
Mar 24 2016 07:58

я подозреваю, что ОГРН из сертификата шифрования канала

там нет проверки, только если бы была подпись, сертификат для подписи проверяется

Vershinin Sergey
@versh23
Mar 24 2016 07:58
огрн из сертификата читается вроде при подписи тока и сверяется с sender-id
Syber79
@Syber79
Mar 24 2016 07:59
ну, так же считаю...
но вынудили прописать в сертификат левый ОГРН
Пусть отвечают
ndbn
@ndbn
Mar 24 2016 08:00
Данные в сертификате и данные на тесте должны совпадать, я сталкивался с проверкой что владелец сертификата не зарегистрирован на ГИС ЖКХ т.к. были разные наименования
Syber79
@Syber79
Mar 24 2016 08:02
Значит нужно менять ОГРН в тестовом кабинете... Опять заявкой... :(
ndbn
@ndbn
Mar 24 2016 08:03
Нам предложили заново зарегистрироваться на такую просьбу, что мы и сделали, новую заявку просто отправили
Отвечают довольно оперативно, думаю, максимум в понедельник всё сделают
shsa
@shsa
Mar 24 2016 08:05
Принадлежность подписи поставщику информации определяется по сопоставлению сертификата открытого ключа, находящегося в элементе ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509Certificate запроса, и элементу поставщика данных tns:RequestHeader/tns:SenderID, находящегося в том же запросе.
это из Методических рекомендаций
Vershinin Sergey
@versh23
Mar 24 2016 08:07
@shsa да тут человек без подписи вообще шлет
Syber79
@Syber79
Mar 24 2016 08:08
Ну так... Если заявлено, что подпись не обязательна, то почему бы и нет?
ndbn
@ndbn
Mar 24 2016 08:09
@Syber79 забудьте эту фразу)
она не обязательна только для Common служб
Дмитрий
@naut13
Mar 24 2016 08:09
@Syber79 Сейчас если у запроса ID оставить пустым, то подпись не проверяется. Если ID заполнить, то будет проверятся подпись, и если ее нет - будет ошибка
ndbn
@ndbn
Mar 24 2016 08:09
даже если в описании написано число вхождений 0..1
Дмитрий
@naut13
Mar 24 2016 08:10
@Syber79 подпись не обязательна на тестовом стенде, так сделали, что бы была возможность тестировать сервисы, не подписывая сообщения
Syber79
@Syber79
Mar 24 2016 08:15
Наверно, буду разбираться с подписанием позднее... и пытаться заставлять SAP общаться экселем столько сколько можно. Тем более, что заявляют, что покроют максимум функционала загрузкой по шаблонам.
Дмитрий
@naut13
Mar 24 2016 08:38
Кто-нибудь сталкивался с тем, что студия крашится при запуске дебага?
Приложение: devenv.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: код исключения 80000003, адрес исключения 749FA063
Стек:
в CryptoPro.Sharpei.NetDetours.UnsafeNativeMethods.DoPreStub(IntPtr, IntPtr, IntPtr ByRef, CryptoPro.Sharpei.NetDetours.MoreErrorInfo ByRef, System.String)
в CryptoPro.Sharpei.NetDetours.DetourHelper.PreStubWorker(System.Reflection.MethodBase)
в CryptoPro.Sharpei.NetDetours.DetourHelper.MakeOneDetourMethod(System.Reflection.MethodBase, System.Reflection.MethodBase, System.Reflection.MethodBase)
в CryptoPro.Sharpei.NetDetours.DetourHelper.MakeOneDetourMethod(System.Type, System.Reflection.MethodInfo)
в CryptoPro.Sharpei.NetDetours.DetourHelper.MakeOneDetourMethod(System.Type, System.Type, System.String)
в CryptoPro.Sharpei.IdentityModel.CPX509AsymmetricSecurityKey.InitDetours()
в System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
в System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
в System.Reflection.MethodBase.Invoke(System.Object, System.Object[])
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.TracedInvoke(System.Reflection.MethodInfo, System.Object, System.Object[])
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.MakeOne(System.Type, CryptoPro.Sharpei.NetDetours.DetourDescription, System.Reflection.AssemblyName)
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.MakeOneAssembly(CryptoPro.Sharpei.NetDetours.DetourDescription, System.Reflection.AssemblyName)
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.DetourAssembly(CryptoPro.Sharpei.NetDetours.DetDescriptionList, System.Reflection.Assembly)
в CryptoPro.Sharpei.NetDetours.CrossDomainList.DetourAssembly(System.Reflection.Assembly)
в CryptoPro.Sharpei.NetDetours.NativeDetourEntryPoint.OnAssemblyLoadEvent(System.Reflection.Assembly)
в CryptoPro.Sharpei.ServiceModel.MasterServiceModel.GetDetouredTypes()
в System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])
в System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
в System.Reflection.MethodBase.Invoke(System.Object, System.Object[])
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.TracedInvoke(System.Reflection.MethodInfo, System.Object, System.Object[])
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.MakeOneAssembly(CryptoPro.Sharpei.NetDetours.DetourDescription, System.Reflection.AssemblyName)
в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.DetourAssembly(CryptoPro.Sharpei.NetDetours.DetDescriptionList, System.Reflection.Assembly)
в CryptoPro.Sharpei.NetDetours.CrossDomainList.DetourAssembly(System.Reflection.Assembly)
в CryptoPro.Sharpei.NetDetours.NativeDetourEntryPoint.OnAssemblyLoadEvent(System.Reflection.Assembly)
в Microsoft.VisualStudio.ServiceModel.Caching.ServiceAnalyzeHelper..cctor()
в Microsoft.VisualStudio.ServiceModel.Caching.Cache.AnalyzeAssembly(System.Reflection.Assembly, Int64)
в Microsoft.VisualStudio.ServiceModel.Caching.Cache.AnalyzeAssembly(System.String, Int64)
в Microsoft.VisualStudio.ServiceModel.Caching.Cache.AnalyzeAssembly(System.String, Int64)
в Microsoft.VisualStudio.ServiceModel.Caching.Cache+<>cDisplayClass22`1[[System.Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<GetInfoFromAssembly>b1c()
в Microsoft.Tools.Common.ExceptionUtility.Try(System.Action)
в Microsoft.VisualStudio.ServiceModel.Caching.Cache.GetInfoFromAssembly[[System.
Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collect
shsa
@shsa
Mar 24 2016 08:40
попробуй поставить Microsoft Visual Studio Community 2015 - у меня пока стабильно работает
ndbn
@ndbn
Mar 24 2016 08:42
Крашит её CryptoPro.net судя по всему
Vershinin Sergey
@versh23
Mar 24 2016 08:42
кто то уже писал про дебаг и крипто про..
ndbn
@ndbn
Mar 24 2016 08:42
тут говорят переставляют его постоянно, попробуйте тоже
Дмитрий
@naut13
Mar 24 2016 08:46
Начну с установки студии новой версии. Давно уже дистрибутив лежит, не было повода установить.
ndbn
@ndbn
Mar 24 2016 08:47
Exception: hardcoded-breakpoint (0x80000003)
интересно
Анатолий
@Anat56
Mar 24 2016 08:52
@naut13 Точно, попробовал, ошибки нет и запрос проходит
Vladimir
@asnetsoft
Mar 24 2016 09:30
@naut13 Спасибо Вам, подписывать бизнес-данные действительно не обязательно, а я все мучился с ошибкой “ Владелец сертификата не найден среди зарегистрированных организаций ГИС ЖКХ” ))
Дмитрий
@naut13
Mar 24 2016 09:36
@asnetsoft да не за что) обращаю Ваше внимание, что не обязательно на тестовом стенде. на промышленном будет обязательно
@asnetsoft у меня тоже были проблемы с сертификатом. Мы регистрировались как коммерческая система. Поэтому в заявке передали три фейковых ук. Когда разобрался с подписью, ошибка была такой "СНИЛС владельца сертификата не связан с зарегистрированным должностным лицом организации".
@asnetsoft После этого я получил тестовый сертификат, с данными УК(которые взял в личном кабинете) и подписал им - подпись прошлам
ndbn
@ndbn
Mar 24 2016 09:43
После этого я получил тестовый сертификат, с данными УК(которые взял в личном кабинете) и подписал им - подпись прошла
а вот это очень странно
за каким мы им тогда в заявке сертификат прикрепляем
Дмитрий
@naut13
Mar 24 2016 09:44
@ndbn это был транспортный сертификат
Vladimir
@asnetsoft
Mar 24 2016 09:44
@ndbn В заявке сертификат на транспорт
Анатолий
@Anat56
Mar 24 2016 09:44
В зявке - это для канала
ndbn
@ndbn
Mar 24 2016 09:44
для канала же любой подходит, не?
любой гостовский
Анатолий
@Anat56
Mar 24 2016 09:45
ОГРН вроде должен совпадать с тем что в заявке
они его прописывают у себя, если не прописан у них - то ошибка о неизвестной ИС
первая ошибка из описания тогда будет - Неверный идентификатор ИС
ndbn
@ndbn
Mar 24 2016 09:50
так если он транспортный, то они не должны давать устанавливать соединение с неизвестным сертификатом
VVi3ard
@VVi3ard
Mar 24 2016 10:12
У нас была похожая проблема в Личном кабинете установлен ОРГН который не совпадает с ОРГН который указан в сертификате который мы используем как транспортный (отправляли в заявке на подключение к СИТ) и которым планируем подписывать тестовые запросы.
Задавали вопрос саппорту, получили ответ:
Уважаемый пользователь!
  1. Нет необходимости менять ИНН и ОГРН организации-поставщика на ИНН и ОГРН организации-оператора ИС из транспортного сертификата.
  2. Оператор ИС и тестовая организация-поставщик используют разные сертификаты для защиты данных. Транспортный сертификат необходим для идентификации и аутентификации ИС при создании защищенного соединения с ГИС ЖКХ, для этого он присылается при регистрации внешней ИС.
    Тестовая организация-поставщик для подписи данных использует сертификат, в котором указаны её ИНН и ОГРН. Запрос должен быть подписан электронной подписью поставщика информации. Данные о сертификате открытого ключа передаются в элементе ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509Certificate запроса.
    Сертификат должен принадлежать тому поставщику данных, идентификатор которого указан в заголовке сообщения (SenderID). При этом данные субъекта сертификата должны совпадать с данными о поставщике информации, указанными при регистрации.
    Поставщик информации должен быть привязан к этой информационной системе с помощью операции importDataProvider.
    Требования к ЭЦП, используемой для подписания запросов описаны в документе «Методические рекомендации по работе с СИТ», раздел 4. Этот документ вы можете скачать в архиве «Регламент и форматы информационного взаимодействия внешних информационных систем», пройдя по ссылке https://dom.gosuslugi.ru/#/regulations
Syber79
@Syber79
Mar 24 2016 10:15
Короче, подписываться обязательно... И им пофигу, на то, что подпись не обязательна.
Видимо чтоб заставить подписываться, они и настояли по истечении транспортного сертификата сгенерировать новый транспортный с мусорным ОГРН.
Уроды
RegentDmitry
@RegentDmitry
Mar 24 2016 10:44
Не подскажите, как получить справочник? Значения справочника. exportNsiListRequest - получаю список справочников. exportNsiItemRequest - даёт наименование полей в справочнике. А где собственно значения брать?
Vershinin Sergey
@versh23
Mar 24 2016 10:46
@RegentDmitry там же,
NsiElementFieldType[] , в нем может быть например NsiElementStringFieldType, где Value - значение
Анатолий
@Anat56
Mar 24 2016 10:49
В SoapUI наглядно видно весь xml возвращаемый - по нему легче ориентироваться и накладывать уже на C#
RegentDmitry
@RegentDmitry
Mar 24 2016 10:51
спасибо
Анатолий
@Anat56
Mar 24 2016 11:34
Что-то у меня функция MessageString ругается на importHouseUODataRequest Ошибка сериализации тела сообщения
ни у кого не было?
MessageString - самописная из сети
как-то не так заполняю его
сейчас отдебажу
Анатолий
@Anat56
Mar 24 2016 11:40
Неверно заполняю BasicCharacteristicts.Item
Отбой - понял
Анатолий
@Anat56
Mar 24 2016 12:44
Сейчас большинство полей нужно подтверждать свойствами Specified = true - это нормально?
Vladimir
@asnetsoft
Mar 24 2016 12:48

@RegentDmitry Для наглядности сделал так, наименования справочников поместил в комбокс
exportNsiListResult result = new exportNsiListResult();
try
{
proxy.exportNsiList(header, request, out result);
Dictionary<string, string> dictonary = new Dictionary<string, string>();

                foreach (var item in ((NsiListType)result.Item).NsiItemInfo)
                {
                    dictonary.Add(item.RegistryNumber,item.Name);
                };

                comboBoxNsiList.DataSource = new BindingSource(dictonary, null);
                comboBoxNsiList.DisplayMember = "Value";
                comboBoxNsiList.ValueMember = "Key";

            }

Вывод значений справочников поместил в textbox:

// Запрос на экспорт данных справочника
exportNsiItemRequest request = new exportNsiItemRequest
{
// пропускаем подпись сообщения
// Id = "signed-data-container",
RegistryNumber = ((KeyValuePair<string, string>)comboBoxNsiList.SelectedItem).Key.ToString()
};

exportNsiItemResult result = new exportNsiItemResult();
try
{
proxy.exportNsiItem(header, request, out result);
txtNsiItem.Text=null;
foreach (var item in ((NsiItemType)result.Item).NsiElement)
{
txtNsiItem.Text += ((NsiElementStringFieldType)item.NsiElementField[0]).Value;
txtNsiItem.Text += Environment.NewLine;
}
}
На данный момент более сотни справочников, самый толстый "справочник типовых работ", более 3к значений )))

Vladimir
@asnetsoft
Mar 24 2016 12:54
Подскажите, на СИТ так же, первым делом размещаем ДУ, а потом уже добавляем объекты жилого фонда?
RegentDmitry
@RegentDmitry
Mar 24 2016 13:11
@asnetsoft, спасибо большое
я уже вкурил что к чему
Vershinin Sergey
@versh23
Mar 24 2016 13:12
importShareEncbrData() кто то уже делал?
Vershinin Sergey
@versh23
Mar 24 2016 13:43
еще может кто подсказать, как работают transportGUID ? допустим заливаю я 100 лс, для каждого из них транспортГУИД. Если что то случится на одном лицевом из 100, какая то ошибка - весь запрос отклоняется, либо вернется куча CommonResult, в одном из них будет с transportGUID в котором ошибка?
RegentDmitry
@RegentDmitry
Mar 24 2016 16:45
Выгружаю все справочники, полученные из exportNsiListRequest с помощью функции exportNsiItemRequest. 5 справочников отсутствуют и у двух повторяются идентификаторы RegistryNumber. Как полагаете, это баг? надо зарепортить ланиту? Или нормально на данных тестовых данных?
This message was deleted
developerts
@developerts
Mar 24 2016 21:11
@RegentDmitry баг. (Как получать ListItems по тем, у котрых совпадают RN?)