Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Цитата:переносил: ds:DigestValue ds:SignatureValue ds:X509Certificate Перенос только ds:DigestValue может привести к нарушению целостности подписи, так как математически подписана в ds:SignatureValue именно вся ветка ds:SignedInfo целиком, лучше переносить всю ветку ds:SignedInfo. По поводу второй ошибки - почти уверен, что все же Вы пропустили между глаз мой пост выше - в запросе не хватает корневого элемента запроса Код:<req:ImportPaymentsRequest xmlns:req="http://roskazna.ru/gisgmp/xsd/services/import-payments/2.0.1" ...>
между ns2:MessagePrimaryContent и pkg:PaymentsPackage. Многоточие - это куча пространств имен ГИС ГМП и параметры запроса. Тестовая проверка СМЭВ3 https://smev3.gosuslugi.ru/portal/checkxmlform.jsp проверяет не только подпись, не только схемы данных смэв (как было в смэв 2), но и схему документа полностью, включая добавленные схемы вида сведений гис гмп. Пропустили корневой тег и кучу объявлений пространства имен - все уже по-другому, тип для supplierBillID не определен, проверка СМЭВ3 не считает его допустимым аттрибутом и ругается бредовым описанием ошибки. Еще раз акцентирую: многие ошибки проверки подписи из-за неправильного изначального подписываемого документа.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2018(UTC) Сообщений: 1 Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
Всем добрый день. Я столкнулся со следующей проблемой - я получаю ошибку при сериализации XML SendRequestRequest. Выбрасываемое исключение: Код:
Невозможно создать временный класс (результат=1).
error CS0030: Преобразование типа "Smev.SmevService.AttachmentContentType" в "Smev.SmevService.AttachmentContentList" невозможно
error CS0030: Преобразование типа "Smev.SmevService.AttachmentHeaderType" в "Smev.SmevService.AttachmentHeaderList" невозможно
error CS0030: Преобразование типа "Smev.SmevService.RefAttachmentHeaderType" в "Smev.SmevService.RefAttachmentHeaderList" невозможно
error CS0029: Неявное преобразование типа "Smev.SmevService.AttachmentContentList" в "Smev.SmevService.AttachmentContentType" невозможно
error CS0029: Неявное преобразование типа "Smev.SmevService.AttachmentHeaderList" в "Smev.SmevService.AttachmentHeaderType" невозможно
error CS0029: Неявное преобразование типа "Smev.SmevService.RefAttachmentHeaderList" в "Smev.SmevService.RefAttachmentHeaderType" невозможно
Трассировка стека: Код:
в System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
в System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
в System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
в System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
в System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
в System.Xml.Serialization.XmlSerializer..ctor(Type type)
в Smev.Xml.XmlCustomConverter.Serialize(Object value) в C:\Work\Smev-dev\src\Smev\Xml\XmlCustomConverter.cs:строка 90
в Smev.Http.SmevClient.<SendRequestAsync>d__6.MoveNext() в C:\Work\Smev-dev\src\Smev\Http\SmevClient.cs:строка 73
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
в Smev.Http.SmevClient.<SendRequestAsync>d__8.MoveNext() в C:\Work\Smev-dev\src\Smev\Http\SmevClient.cs:строка 175
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
в Smev.SmevPFRClient.<Validate>d__7.MoveNext() в C:\Work\Smev-dev\src\Smev\SmevPFRClient.cs:строка 74
Я перерыл всё, что только можно. Чаще всего такая проблема возникает из-за двумерных массивов, но они в данном случае не используются. Но в любом случае похоже на то, что первопричина в неправильной кодогенерации из WDSL. Прошу помочь с данным вопросом или дать наводку. Отредактировано пользователем 6 ноября 2018 г. 11:24:41(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.08.2014(UTC) Сообщений: 12
Поблагодарили: 2 раз в 2 постах
|
Автор: Max Zimin Прошу помочь с данным вопросом или дать наводку.
Поскольку эти структуры мне не нужны, то сделал так Код:
public partial class SenderProvidedRequestData : object, System.ComponentModel.INotifyPropertyChanged
{
...
private /*AttachmentHeaderType[]*/object[] attachmentHeaderListField;
private /*RefAttachmentHeaderType[]*/object[] refAttachmentHeaderListField;
...
[System.Xml.Serialization.XmlElementAttribute("AttachmentHeaderList", typeof(AttachmentHeaderList), Namespace = "urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2", Order = 7)]
public /*AttachmentHeaderType[]*/ object[] AttachmentHeaderList
...
[System.Xml.Serialization.XmlElementAttribute("RefAttachmentHeaderList", typeof(RefAttachmentHeaderList), Namespace = "urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2", Order = 8)]
public /*RefAttachmentHeaderType[]*/ object[] RefAttachmentHeaderList
...
}
|
1 пользователь поблагодарил Bpar за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.08.2014(UTC) Сообщений: 12
Поблагодарили: 2 раз в 2 постах
|
Автор: Neotiran Можете пожалуйста поделиться кодом на C#, у кого получилось? Уже все перебрал одна и таже ошибка: ЭЦП не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП У меня на странице Проверка XML-сообщения на соответствие схемам сервиса СМЭВ выдаёт две "ЭЦП подтверждена" ( заметьте - ЭЦП, а не ЭП-СП и ЭП-ОВ). Но через службу та же ошибка. Братцы, может надо как-то регистрировать подписи?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.08.2014(UTC) Сообщений: 12
Поблагодарили: 2 раз в 2 постах
|
Автор: Bpar Но через службу та же ошибка.
Отсылаю им ихний-же файл из примеров (SendRequestRequestPersonalSignature.xml). На службе опять та же ошибка. Беру даже не сам файл, а то что фактически ушло через сниффер - на сайте всё ОК. Обе подписи подтверждены.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 28.06.2018(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
Автор: pil03 Вопрос не совсем по .Net. Как в СМЭВ получать данные из широковещательных рассылок? Добрый день. Вы разобрались с широковещательными рассылками?
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
У меня самого еще не дошли руки до рассылок, но скажу как я понял из документации. Вопрос очень общий, есть несколько вариантов, уточните про какой вид сведений спрашиваете:
1. В СМЭВ 3 есть специальный вид сведений для управления подпиской на рассылки, к нему нужно подключиться и потом на него отправить запрос на добавление подписки на рассылку. Это касается в основном общесистемных рассылок (справочников и т.д.).
2. Некоторые ИС (ГИС ГМП) сделали собственный вид сведений для управления подпиской на свою рассылку. В этом случае все аналогично пункту 1, но добавление нужно запрашивать по другому виду сведений, не общесистемному, а для конкретной ИС.
3. Некоторые рассылки для работы потребуют подтверждения Ващих полномочий поставщику данных, например, рассылка сведений ЕГР ЗАГС требует предоставления бумажной заявки с печатями в ФНС. После чего, предположительно, ФНС сами вносят адресата в список рассылки.
Отличие пунтов 2 и 3 от пункта 1 в основном в том, что рассылки 2 и 3 отдают разные данные разным адресатам и потому сама рассылающая ИС должна знать кому и что отдать, а рассылки 1 отдают одинаковые данные всем без разбора.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 28.06.2018(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
Автор: two_oceans
2. Некоторые ИС (ГИС ГМП) сделали собственный вид сведений для управления подпиской на свою рассылку. В этом случае все аналогично пункту 1, но добавление нужно запрашивать по другому виду сведений, не общесистемному, а для конкретной ИС.
Я пытаюсь разобраться с п.2 и из документации не могу понять как мы получим сообщения по подписке. 1. Мы отправляем запрос на подписку в очередь запросов СМЭВ 2. Получаем подтверждение из ответной очереди СМЭВ, что подписка оформлена ...а дальше что? С какой-то периодичностью опрашиваем ответную очередь СМЭВ, не появились ли для нас сообщения по подписке? Реализовывал кто-нибудь подписку в ФССП или еще где-нибудь?
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Автор: Александра П С какой-то периодичностью опрашиваем ответную очередь СМЭВ, не появились ли для нас сообщения по подписке? Реализовывал кто-нибудь подписку в ФССП или еще где-нибудь? Полагаю, что да, периодически опрашиваете очередь. А вот какую очередь - ответную GetResponseRequest или запросную GetRequestRequest - так вот сразу и не соображу, надо перечитать документацию. И конечно при опросе уже указываете для выборки не тот вид сведений которым подписывались, тот вид сведений по которому должны упасть данные рассылки.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 28.06.2018(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
Автор: two_oceans Автор: Александра П С какой-то периодичностью опрашиваем ответную очередь СМЭВ, не появились ли для нас сообщения по подписке? Реализовывал кто-нибудь подписку в ФССП или еще где-нибудь? Полагаю, что да, периодически опрашиваете очередь. А вот какую очередь - ответную GetResponseRequest или запросную GetRequestRequest - так вот сразу и не соображу, надо перечитать документацию. И конечно при опросе уже указываете для выборки не тот вид сведений которым подписывались, тот вид сведений по которому должны упасть данные рассылки. Я думаю потребитель должен опрашивать ответную очередь GetResponseRequest. Как на деле, надеюсь, скоро узнаю. Отправили запрос в ФССП, чтобы они кинули нам ответ по подписке. Сделают, буду искать куда он прилетит.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close