Paramedic ТС
Карма +1518/-10
Offline
Пол:
Сообщений: 20016
Иваново
Тиран и Диктатор
Иваново Megane III Expression, МКПП5, +ESP (Был ИЖ-2126-30)
|
|
« : 18 Мая 2022, 13:52:04 » |
|
Во время текущей сложной экономической и политической ситуации обязали меня автоматизировать обмен сообщениями с ГИС ЖКХ. На семинары с обучением, естественно, не отправили. Почитал их мутные доки и понял, что они написаны для специалистов. Как стать специалистом я без понятия. Путных мануалов и учебников не нашёл. Нашёл stunnel для создания туннеля до ГИС ЖКХ, прочитал, как работает SOAP, но ведь ещё надо как-то сообщение подписывать.
В общем, вопросов больше, чем ответов.
Может быть у кого-то есть знания в этой области?
|
|
« Последнее редактирование: 19 Мая 2022, 16:55:51 от Paramedic »
|
Записан
|
Это сейчас мода такая — задавать глупые вопросы с невинным видом, типа, "всё совсем не так, как вам кажется"?
|
|
|
tim123
|
|
« Ответ #1 : 18 Мая 2022, 20:38:06 » |
|
Вряд ли смогу помочь. Работал с соапом давно, мало и через готовые обвёртки и в корпоративной локалке. Насчёт подписывания не очень понял. Если в смысле ЭЦП, то не пользовался. Если вещи ниже вопросов не вызывают, то от мене пользы точно не будет. Сам помню только, что простые запросы интерактивно тестировал через пакет SOAPGui.
|
|
|
Записан
|
|
|
|
Ахинеич
|
|
« Ответ #2 : 18 Мая 2022, 20:51:36 » |
|
Да уж. Вписался, так вписался. Сеть не в помощь?
|
|
|
Записан
|
С точки зрения теории Банальных Эрудиций возможности далеко не каждого индивидуума способны игнорировать тенденции парадоксальных эмоций. Резюмируя вышесказанное, нивелируйте свои аппроксимации на ассоциации с ником!
|
|
|
tim123
|
|
« Ответ #3 : 18 Мая 2022, 21:28:56 » |
|
Демократичный форум закрылся с марта. Слишком много там из разных стран наших. А ещё 20 февраля всё спокойно там было. Остаётся ixbt либо stackoverflow.com на инглише. Но как там теперь к РФ - не знаю.
|
|
|
Записан
|
|
|
|
Alx
|
|
« Ответ #4 : 19 Мая 2022, 09:24:11 » |
|
Как стать специалистом я без понятия. Чтобы научиться плавать, нужно хотя бы залезть в воду На роль ментора по soap не претендую, поскольку занимаюсь другими web-сервисами, но на конкретные вопросы попробую ответить.
|
|
|
Записан
|
|
|
|
Paramedic ТС
Карма +1518/-10
Offline
Пол:
Сообщений: 20016
Иваново
Тиран и Диктатор
Иваново Megane III Expression, МКПП5, +ESP (Был ИЖ-2126-30)
|
|
« Ответ #5 : 19 Мая 2022, 10:07:21 » |
|
Если вещи ниже вопросов не вызывают, то от мене пользы точно не будет. Данный код вопросов не вызывает. Вызывает вопрос, как из файла .xsd сделать объекты PHP, которые, как я понял, буду передаваться в функции, созданные в клиенте SOAP после передачи ему файла wsdl. Ну на худой конец можно и руками их написать. Насчёт подписывания не очень понял. Если в смысле ЭЦП, то не пользовался. Во первых сама передача данных должна идти через защищённое соединение по нашему ГОСТу. Но тут хоть худо-бедно нашёл утилиту stunnel, которая вроде бы делает требуемое, выступая прокси между SOAP клиентом и сервером ГИС ЖКХ. Этой утилите тоже ключ подсовывается, иначе соединение не сможет быть установлено. Во вторых требуют подписать бизнес-данные и саму подпись вставить в тело конверта SOAP. Тут уже надо каким-то образом дёргать крипто-кро CSP или использовать какие-то иные библиотеки для подписания, где их взять ХЗ, продавцы крипто-про денег хотят. Вот здесь вообще без понятия, как это сделать. Нашёл примеры для C# и Trusted Java. Возможно, следует реализовать задачу на них, но ни того ни другого я хорошо не знаю. Сеть не в помощь? Почему-то нет. Собственно можно найти по SOAP, но по интеграции не находится ничего. Такое ощущение, что либо интеграция им нафиг не нужна, либо нужна чисто бюрократически. Демократичный форум закрылся с марта. Это какой? Чтобы научиться плавать, нужно хотя бы залезть в воду Я уже в воде. Скоро захлебнусь и утону. на конкретные вопросы попробую ответить Конкретные: 1. Как получить объекты на PHP из .xsd? 2. Как подписать бизнес-данные?
|
|
|
Записан
|
Это сейчас мода такая — задавать глупые вопросы с невинным видом, типа, "всё совсем не так, как вам кажется"?
|
|
|
Alx
|
|
« Ответ #6 : 19 Мая 2022, 10:39:43 » |
|
1. Как получить объекты на PHP из .xsd? утилита xsd2php https://github.com/goetas-webservices/xsd2phpСразу предупреждаю, что мои познания в php на уровне плинтуса, поскольку занимаюсь разработкой андроидных приложений и серверных бэкендов к ним на java. 2. Как подписать бизнес-данные? вынужден ответить вопросом на вопрос, подтверждая происхождение что именно надо подписать? каков формат сертификата ЭЦП?
|
|
|
Записан
|
|
|
|
Paramedic ТС
Карма +1518/-10
Offline
Пол:
Сообщений: 20016
Иваново
Тиран и Диктатор
Иваново Megane III Expression, МКПП5, +ESP (Был ИЖ-2126-30)
|
|
« Ответ #7 : 19 Мая 2022, 14:38:15 » |
|
Сразу предупреждаю, что мои познания в php на уровне плинтуса, поскольку занимаюсь разработкой андроидных приложений и серверных бэкендов к ним на java. Уже давно установлено, видел, даже хотел тут об этом отписаться, но почему-то забыл. Эта штука требует написания некоего конфига с сопоставлением пространства имён. И вот тут у меня понималки не хватает, что с чем сопоставлять? Так и не смог попользоваться. что именно надо подписать? каков формат сертификата ЭЦП? что именно надо подписать? каков формат сертификата ЭЦП? Блок данных, который будет размещён к конверте SOAP. Т.е. в этом конверте будут и эти данные и подпись. ГОСТ Р 34.11-2012/34.10-2012 Ну я тут ещё один кунштюк придумал: решил использовать COM, установил OLE объекты от Crypto CSP, настроил PHP. Вроде заработало. Документация с примерами у них на Визуал Бейсике. https://docs.cryptopro.ru/cades/reference/cadescom/cadescom-samples/cadescomsamplesigndataОдна беда, в самый последний момент, когда должно произойти само подписание, вылетает ошибка: Fatal error: Uncaught com_exception: <b>Source:</b> CAdESCOM.CadesSignedData.1<br/><b>Description:</b> Unknown error code (0xC0000225) in E:\www\soap\client.php:31 Stack trace: #0 E:\www\soap\client.php(31): com->Sign(Object(com), false) #1 {main} thrown in E:\www\soap\client.php on line 31
Теперь не могу понять, откуда ошибка лезет?
|
|
|
Записан
|
Это сейчас мода такая — задавать глупые вопросы с невинным видом, типа, "всё совсем не так, как вам кажется"?
|
|
|
Alx
|
|
« Ответ #8 : 19 Мая 2022, 14:57:41 » |
|
Вопрос про сопоставление пространства имен не готов комментировать, поскольку надо глубоко вникать в api гис жкх, я его только вполглаза посмотрел. Насчет crypto CSP лучше задать вопрос на их форуме или в техподдержку. Но будет ли такое решение приемлемым, поскольку потребуется windows server?
|
|
|
Записан
|
|
|
|
Paramedic ТС
Карма +1518/-10
Offline
Пол:
Сообщений: 20016
Иваново
Тиран и Диктатор
Иваново Megane III Expression, МКПП5, +ESP (Был ИЖ-2126-30)
|
|
« Ответ #9 : 19 Мая 2022, 16:10:27 » |
|
Но будет ли такое решение приемлемым, поскольку потребуется windows server? Зачем сервер? Обычная машина под управлением винды.
|
|
|
Записан
|
Это сейчас мода такая — задавать глупые вопросы с невинным видом, типа, "всё совсем не так, как вам кажется"?
|
|
|
Alx
|
|
« Ответ #10 : 19 Мая 2022, 18:08:04 » |
|
А, подписание будет производиться со стороны клиентского приложения. В принципе, сопоставление пространств имен необходимо, когда они различаются, для разрешения конфликтов. Если одно является подмножеством другого, то такой нужды нет. Но это всего лишь общее соображение.
|
|
|
Записан
|
|
|
|
tim123
|
|
« Ответ #11 : 19 Мая 2022, 21:59:57 » |
|
Ну, по моим понятиям тоже объекты PHP надо руками по описанию или найти конвертер. Правда, я боюсь, что если предполагаются массивы, может конвертер не сработать. С криптовообще ничего не скажу. В сборке пхп возможна бибилиотека согласно хелпу. Pacкpыть Расширение SOAP может использоваться для написания как серверной, так и клиентской части. Оно содержит подмножества спецификаций : SOAP 1.1, » SOAP 1.2 и » WSDL 1.1.
Для корректной работы этого расширения необходимо PHP расширение libxml. Это означает, что также необходима передача опции --enable-libxml , хотя неявно это уже сделано, так как поддержка libxml по умолчанию включена.
Typically, on microsoft windows(sometimes linux), we got "I/O warning : failed to load external entity" and "Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from somewhere". only xml lib is not enough, php-soap also need cURL, and openssl if you wants connect to https
If you are using 3rd party all-in-one servers on windows (like Uniform Server etc), "php_soap.dll" may not be included in the default distribution. If this is the case, the do phpinfo(); ........ То есть в пхп скорее всего не всё очень просто. Больше мне нечего сказать. С крипто не работал, а за яву с кондачка не взяться. Форум был и есть sql.ru ,но он закрылся. Если и искать в вебархиве, там может быть не всё, и спросить в результате там не у кого.
|
|
|
Записан
|
|
|
|
OVA
Moдератор
Карма +1551/-118
Offline
Пол:
Сообщений: 14738
Тула + д. Ревякино
Нормозавр 21261-070 (был). Нынче Фабула.
Тула + д. Ревякино ИЖ 21261-030
|
|
« Ответ #12 : 20 Мая 2022, 07:17:39 » |
|
У аффтара SQL.RU случилась украинизация головного мозга. Увы. С SOAP я работаю в среде Delphi. Про ПыхПых не скажу ничего.
|
|
|
Записан
|
P.S. Василий. Еще один из беглых ижевчан. --- (ОКПП, ГБО, ЭСП), поборол электричество, "бустера" дворников нет
|
|
|
Paramedic ТС
Карма +1518/-10
Offline
Пол:
Сообщений: 20016
Иваново
Тиран и Диктатор
Иваново Megane III Expression, МКПП5, +ESP (Был ИЖ-2126-30)
|
|
« Ответ #13 : 20 Мая 2022, 10:26:14 » |
|
С SOAP я работаю в среде Delphi Очень интересно! Иду к тебе в личку.
|
|
|
Записан
|
Это сейчас мода такая — задавать глупые вопросы с невинным видом, типа, "всё совсем не так, как вам кажется"?
|
|
|
Кувалдыч
Карма +1691/-43
Offline
Пол:
Сообщений: 40861
Путинград, Колпино
!"№;%:?*!!!
Питер ИЖ 2126-060 4x4 * ИЖ 2126-030
|
|
« Ответ #14 : 03 Июня 2022, 17:35:43 » |
|
А почему именно PHP?
Почему нельзя использовать ченить до боли стандартное типа C#? Ну там по крайней мере все работает почти само собой... В виде библиотеки или собсвенного сервиса с заточаным под бизнес-логику функционалом, который будет делать все что нужно на REST...
Другое дело, что таже самая КриптоПро... она сама по себе иногда кривоватая... но я с ней давно работал, помню намаялся... надо было чтобы SSL на IIS с ней работал....
|
|
|
Записан
|
|
|
|
|