Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
Собственно тема: СМЭВ добавление подписи (/soap:Envelope/soap:Header/wsse:Security) в SOAP пакет в рамках SOAP WEB сервиса (ГИС ГМП).
Как вообще добавляется заголовок в SOAP пакет в рамках WEB сервиса?
То есть если лапками делать XML,то понятно, но как то неправильно если предоставлен сервис.
Но сервис SmevGISGMPService имеет только один метод gisgmpTransferMsg у которого только два параметра message и messageData обёрнутые в Holder и никакого заголовка.
Весь маршалинг через JAXB скрыт.
С какого бока тут приделывать заголовок пакета не понимаю.
В инете все примеры - это именно вручную собирать XML, вставлять туда заголовок с подписью и потом отправлять по HTTP.
Неужели по другому никак? Зачем тогда предоставлен сервис SOAP?
30 сен 19, 14:01    [21982701]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
sergnn
В инете все примеры - это именно вручную собирать XML,
а тут в форуме?
30 сен 19, 14:16    [21982720]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
PetroNotC Sharp, Считаете что Гугл не включает в поиск данный форум. :)
30 сен 19, 14:25    [21982730]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
sergnn
PetroNotC Sharp, Считаете что Гугл не включает в поиск данный форум. :)
ну если не нашли, как мне считать. Я давал тут пример калькулятора. С апи верхнего уровня.
30 сен 19, 14:35    [21982744]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 4838
sergnn
Собственно тема: СМЭВ добавление подписи (/soap:Envelope/soap:Header/wsse:Security) в SOAP пакет в рамках SOAP WEB сервиса (ГИС ГМП).
Как вообще добавляется заголовок в SOAP пакет в рамках WEB сервиса?
То есть если лапками делать XML,то понятно, но как то неправильно если предоставлен сервис.
Но сервис SmevGISGMPService имеет только один метод gisgmpTransferMsg у которого только два параметра message и messageData обёрнутые в Holder и никакого заголовка.
Весь маршалинг через JAXB скрыт.
С какого бока тут приделывать заголовок пакета не понимаю.
В инете все примеры - это именно вручную собирать XML, вставлять туда заголовок с подписью и потом отправлять по HTTP.
Неужели по другому никак? Зачем тогда предоставлен сервис SOAP?


Если не получается подписать через "стандартный" обработчик, то делаеться написание собственного Inerceptors, который "вживляет" ЭЦП туда куда надо.
30 сен 19, 14:41    [21982753]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
mad_nazgul, Это как раз то о чём я и пишу. То есть явным образом через JAXB собрать XML пакета без заголовка. Потом, по-сути, вручную вставить заголовок с подписью, переименовать некоторые теги и затем через HTTP всё это послать куда надо. Всё понятно, но геморойно. Хочется просто понять логику разработчиков СМЭВ, как они предлагают это делать. Может у них есть какой то хитромудрый способ?
30 сен 19, 14:55    [21982779]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
sergnn,
А ЕСИА у вас часть СМЭВ?
Так как у нас вся работа с госуслугами велась чере либу которую рекомеедовали сами госуслуги.
30 сен 19, 15:10    [21982808]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
PetroNotC Sharp, Нам надо через СМЭВ отправлять на ГИС ГМП информацию о платежах. СМЭВ предоставляет только адрес WSDL и схемы XSD. Всё. В результате генерации объектов имеем кучу объектов в спецификации JAXB, и собственно сервис с единственным методом. Как вызывается метод я уже писал в первом посте. Принцип формирования подписи описан. Он достаточно хитровымудренный, но понятный. Подпись должна записываться в заголовок SOAP пакета. Вот собственно второй день бьюсь пытаюсь понять как. То есть если руками формировать весь пакет то понятно как, но зачем тогда сам сервис делать?
30 сен 19, 15:35    [21982856]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
sergnn,
Думаю значит так коряво api сделано на той стороне. Вы нипричем.
Халявщики они.
Нам было проще с госуслугами.
30 сен 19, 15:40    [21982865]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
PetroNotC Sharp, Задолбала эта постоянная борьба с государственными IT сервисами....
30 сен 19, 15:58    [21982900]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
chpasha
Member

Откуда:
Сообщений: 8441
sergnn
gisgmpTransferMsg у которого только два параметра message и messageData обёрнутые в Holder и никакого заголовка

т.е. один метод в зависимости от message делает кучу дел?

sergnn
С какого бока тут приделывать заголовок пакета не понимаю

обычно, как уже написали, через interceptor.

sergnn
но зачем тогда сам сервис делать?

возможно изначально они хотели сделать хорошо. т.е. много разных методов, авторизация через хедеры. может еще и сделают. я так понял, что тебе хотелось бы, чтобы объект для аутентификации был частью метода?
30 сен 19, 15:59    [21982904]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
chpasha
т.е. один метод в зависимости от message делает кучу дел?


Да. Только message там универсальный, а вот messageData может быть самым разным. Это, типа универсальный способ обмена информацией между разными государственными и муниципальными организациями.
Организация определённым образом регистрирует на СМЭВ свой формат данных messageData и можно, вроде как пользоваться.

chpasha
возможно изначально они хотели сделать хорошо. т.е. много разных методов, авторизация через хедеры. может еще и сделают. я так понял, что тебе хотелось бы, чтобы объект для аутентификации был частью метода?


Вот это всё и приводит в уныние. Вроде как есть предоставленный унифицированный SOAP метод, а приходится лопатить на уровне HTTP запросов и парсить XML. Бред какой то.
Или всё таки есть какой то жутко секретный способ....
Что самое интересное объекты для создания самой подписи есть. Но как их вставить в пакет непонятно.
30 сен 19, 16:11    [21982921]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
sergnn,
Ну им проще написать один метод. Вот и сделали.
Пишите в тех поддержку. Вы же официалы.
Нам все разжевали и ссылки дали.
Удачи!
30 сен 19, 16:14    [21982924]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
chpasha, Я тут параллельно бросил клич на bankir.ru. Там есть техническая ветка и СМЭВ там обсуждается довольно активно, но за полдня просмотров куча, ответов ноль.
30 сен 19, 16:17    [21982927]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
PetroNotC Sharp, Ну да, так наверно и придётся.
30 сен 19, 16:19    [21982936]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
chpasha
Member

Откуда:
Сообщений: 8441
sergnn
Вроде как есть предоставленный унифицированный SOAP метод, а приходится лопатить на уровне HTTP запросов и парсить XML

ну чисто архитектурно - это правильно, что данные для аутентификации отделены от payload - это позволяет делегировать проверку другому классу/сущности. представь, что методов 30 и в каждом по объекту Auth. Возможно по-этому.
30 сен 19, 16:25    [21982948]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
chpasha
sergnn
Вроде как есть предоставленный унифицированный SOAP метод, а приходится лопатить на уровне HTTP запросов и парсить XML

ну чисто архитектурно - это правильно, что данные для аутентификации отделены от payload - это позволяет делегировать проверку другому классу/сущности. представь, что методов 30 и в каждом по объекту Auth. Возможно по-этому.
а про SOLID почему не упомянул?
Понятно теперь кто строит такое API
SendMessage(pointer)
30 сен 19, 16:33    [21982958]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
chpasha, архитектурно оно понятно, но в данном случае предоставленный метод получает заполненные объекты, делает из них XML и сразу передаёт на сервер в SOAP пакете. В какой момент ему подсунуть заголовок с подписью?
30 сен 19, 16:34    [21982959]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
chpasha
Member

Откуда:
Сообщений: 8441
PetroNotC Sharp
а про SOLID почему не упомянул?

это и есть SOLID

PetroNotC Sharp
SendMessage(pointer)

Цветочный магазин

sergnn
В какой момент ему подсунуть заголовок с подписью?

видимо зависит от библиотеки, которую юзаешь. в spring-ws это уже упомянутый тут interceptor. он выстреливает после того, как Soap сформировано, до отправки.
30 сен 19, 17:04    [21983000]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
SpringMan
Member

Откуда:
Сообщений: 9
Для второго смэва добрый человек один сделал таким образом - вполне работающий вариант. Для третьего смэва скорее всего алгоритмы надо будет подркучивать нужные - не проверял это.
30 сен 19, 17:18    [21983017]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
chpasha
Цветочный магазин
а я думал, по чему тебя нет в той теме). Понятно. Там щеки не принято надувать.
Продолжай.скажешь Цветочный магазин 1456 раз.
30 сен 19, 17:59    [21983057]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
mad_nazgul
Member

Откуда:
Сообщений: 4838
sergnn
mad_nazgul, Это как раз то о чём я и пишу. То есть явным образом через JAXB собрать XML пакета без заголовка. Потом, по-сути, вручную вставить заголовок с подписью, переименовать некоторые теги и затем через HTTP всё это послать куда надо. Всё понятно, но геморойно. Хочется просто понять логику разработчиков СМЭВ, как они предлагают это делать. Может у них есть какой то хитромудрый способ?


Я работал не со СМЭВ, а с нашей гос. ESB.
Если для RSA, можно было просто подсунуть ЭЦП и она правильно подписывала XML, через стандартный клиент.
То с ГОСТом пришлось самому писать Interceptor, который внедрял ЭЦП.

Посмотрите, если у вас используется стандартный RSA, то возможно ничего делать не надо будет.
Через стандартный клиент все заработает.
1 окт 19, 05:41    [21983410]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
sergnn
Member

Откуда: Нижний Новгород
Сообщений: 373
SpringMan
Для второго смэва добрый человек один сделал таким образом - вполне работающий вариант. Для третьего смэва скорее всего алгоритмы надо будет подркучивать нужные - не проверял это.


Спасибо. Теперь я понял всю глубину задницы в которую попал....
1 окт 19, 09:23    [21983450]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
sergnn
глубину задницы
отпишись что скажет техподдержка
1 окт 19, 10:28    [21983515]     Ответить | Цитировать Сообщить модератору
 Re: Кто нибудь делал обмен сообщениями со СМЭВ?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9416
PetroNotC Sharp
отпишись что скажет техподдержка
Там не будет ничего простого: читать доки, работать с XML, крипто-API выбранного СКЗИ и всё-такое, что не укладывается в пару строчек, но при этом - почти никому не требуется.
1 окт 19, 13:48    [21983828]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Java Ответить