These are chat archives for springjazzy/GIS_JKH_Integration

10th
Apr 2017
CCAlek
@CCAlek
Apr 10 2017 01:02
@slvAuthor на хабре по c# писали, там есть базовые классы
@slvAuthor есть еще на с# демо приложение гис жкх, но там кажись где то ошибка, не могу найти, ланитовцы тоже не могут найти
@slvAuthor второй вариант работает с магпро
Anton
@dudarkoas
Apr 10 2017 02:14
@CCAlek, "и вся королевская конница и вся королевская рать..." не может багу у себя в коде найти? =)
Daniel
@mortifactor
Apr 10 2017 02:37
а на СИТ нужно отправлять сертификат им как-то? Или как на боевом можно загрузить через личный кабинет?
CCAlek
@CCAlek
Apr 10 2017 02:38
@dudarkoas не могут
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 02:40
@mortifactor В ЛК на СИТ пишешь заявку на создание ИС, туда прикрепляешь "тестовый" сертификат с открытой частью. Ждешь одобрения - работаешь.
Daniel
@mortifactor
Apr 10 2017 02:44
@K0LbAzzeR у меня есть уже учетка, создавали года полтора назад, просто в какой-то момент там все поменялось половина галочек слетела, меню поисчезали, в свое время сертификат на СИТ добавлял как щас на боевом - загрузил в ЛК просто и все, а щас нет такой менюшки почему-то
ладно, в жиру напишу им
Daniel
@mortifactor
Apr 10 2017 02:52
а то чота боязно щас 40тыщ лицевых грузить с платежами..
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 02:58
@mortifactor ну однозначно нужен новый тестовый серт выписать, т.е. этой кнопки нет? https://my.sit01.dom.test.gosuslugi.ru/organization-cabinet/#!/operator/systems вот тут нужно добавлять ИС, если ИС уже есть можно просто прикрепить новый сертификат и ждать одобрения.
Daniel
@mortifactor
Apr 10 2017 03:02
ага, на боевом есть, а на сит нет, хотя была раньше
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 03:22
@mortifactor ну тогда пиши СП, типа куда делась кнопка "Информационные системы" :)
Daniel
@mortifactor
Apr 10 2017 03:27
примерно так и написал )
doazet
@doazet
Apr 10 2017 04:33
доброе утро @_@
small-office
@small-office
Apr 10 2017 04:47
@doazet с новой авой ))
doazet
@doazet
Apr 10 2017 04:48
@small-office классная? :3
small-office
@small-office
Apr 10 2017 04:48
@doazet прикольная ))
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 05:46
@CCAlek да по базовым классам нашел) не нашел что за серийный ключ для конфига. котоый из свойств сертификата серийный номер достаю - его не принимает, ругается на неправильный шестнадцатеричный формат
doazet
@doazet
Apr 10 2017 05:46
@slvAuthor переведи из 16 в 10
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 05:46
доброе утро)
doazet
@doazet
Apr 10 2017 05:47
причем самое смешное, что не попарно, а полностью
Анатолий
@Anat56
Apr 10 2017 05:47
привет всем
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 05:47
@Anat56 привет)
@doazet попробую, но чую что не прокатит)
doazet
@doazet
Apr 10 2017 05:48
@slvAuthor прокатит
сама посмеялась в свое время, лол
Anton
@dudarkoas
Apr 10 2017 05:48
на СИТ-ы у всех ошибка прав?
Анатолий
@Anat56
Apr 10 2017 05:48
кто сталкивался с Ошибка формата подписи запроса
обновили сертификат
у того же УЦ
Anton
@dudarkoas
Apr 10 2017 05:49
@Anat56 и все ок стало?
а, не, у нас орг-я не имеет доступа пишет
Анатолий
@Anat56
Apr 10 2017 05:49
ТП написали, что исправят, но в чем косяк не написали
@dudarkoas всё встало )))
старый сертификат срок действия истек, а новый не хочет работать )))
Anton
@dudarkoas
Apr 10 2017 05:50
ясно
Анатолий
@Anat56
Apr 10 2017 05:50
ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: java.lang.IllegalArgumentException: Unknown object id - E - passed to distinguished name
Anton
@dudarkoas
Apr 10 2017 05:50
у нас после обновления СИТ-2 начал ругаться на то, что у организации нет прав
Анатолий
@Anat56
Apr 10 2017 05:51
чем-то ему тег email не нравится
Anton
@dudarkoas
Apr 10 2017 05:51
мож ему циферками надо? _))
Анатолий
@Anat56
Apr 10 2017 05:51
не понятно правда какой email субъекта или издателя
может у них строго все УЦ прописаны
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 05:52
@doazet "Неправильный формат шестнадцатеричной строки" как то так
Анатолий
@Anat56
Apr 10 2017 05:53
просто у нашего обновился сертификат удостоверяющего центра
doazet
@doazet
Apr 10 2017 05:53
@slvAuthor певеведи в десятиричную
Анатолий
@Anat56
Apr 10 2017 05:53
и там у них email другой
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 05:54
@doazet я перевел)
https://habrahabr.ru/post/316362/
по этой статье я кстати делаю
doazet
@doazet
Apr 10 2017 05:54
@slvAuthor блядь, давай сюда серийник
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 05:56
@doazet попробуй)
2cebc02400030002aecd
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:14
:(
Anton
@dudarkoas
Apr 10 2017 06:15
@slvAuthor подожди немного, она на листочке делает это )
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 06:17
@dudarkoas :)
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:17
@dudarkoas я пытался через онлайн редакторы, они все разные результаты и не один не подходит. потом через питон накидал - тоже мимо
@K0LbAzzeR ты начал что нить с wcf делать?)
Anton
@dudarkoas
Apr 10 2017 06:21
@slvAuthor вы из hex в dec "2cebc02400030002aecd" переводите?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:22
ну это мой серийник. по рекомендации @doazet перевожу из 16 в 10
Anton
@dudarkoas
Apr 10 2017 06:23
212132955294753462857421
я тут "в уме" посчитал )
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 06:24
@slvAuthor можно сказать начал, а начал с изучение сего чЮда, пытаюсь понять всю механику обмена информации как на стороне клиента, так и на стороне сервера, как идет организация контрактов служб, данных и т.п. а также как использовать Address, Binding, Contract. так сказать тренируюсь на простых примерах и перехожу к более сложным, как картина с WCF будет для меня прозрачна, буду переходить на СИТ01 и тестить все это дело там.
Syber79
@Syber79
Apr 10 2017 06:25
Хм... Калькулятор говорит, что - 3236892018047385602
ой
КУсок пропал
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:26
@dudarkoas Неправильный формат шестнадцатеричной строки
короче чет фигня какая-то
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 06:27
@slvAuthor а зачем тебе десятичный формат отпечатка сертификата? где ты его пытаешься использовать?
Anton
@dudarkoas
Apr 10 2017 06:28
серийник сертификата )
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:28
@K0LbAzzeR прочти чуть выше)
в двух словах. делаю по статье https://habrahabr.ru/post/316362/ , для простоты тупо склонировал репозиторий. в конфиге надо указать серийник сертификата который будет подцеплен и прочее. Проблема в том что сам серийник если ставишь - "неправильный формат". по рекомендации @doazet перевел из 16 в 10 и все равно ошибка та же
Daniel
@mortifactor
Apr 10 2017 06:30
с серийником там что-то было с пробелом последним или что-то такое
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:30
пля, по этой статье https://habrahabr.ru/post/311062/
Daniel
@mortifactor
Apr 10 2017 06:30
я через powershell взял и все ок
Anton
@dudarkoas
Apr 10 2017 06:31
у меня норм въезжало после конвертации hex2dec
doazet
@doazet
Apr 10 2017 06:31
@Syber79 калькулятор попарно разбивает и от каждой пары берет
если виндовый, лол
пиздец
Anton
@dudarkoas
Apr 10 2017 06:31
@doazet ну че, сколько у тебя вышло? )
doazet
@doazet
Apr 10 2017 06:32
с договорами там ад какой-то. меня с утра заебали звонить -___-
Daniel
@mortifactor
Apr 10 2017 06:32
через posh - Get-ChildItem -path cert:\LocalMachine\My
или Get-ChildItem -path cert:\CurrentUser\My
смотря где серт
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:33
https://github.com/nkochnev/gis-wcf-sign/blob/master/Gis/App.config
вот тут пример конфига и серийного ключа
Anton
@dudarkoas
Apr 10 2017 06:33
у мя был где-то vbs скрипт, пользующий cadescom и crypto pro csp для подписи )
hex у тебя верный?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:36

http://joxi.ru/zANQL1UB1j1x29

ну вроде да)

Anton
@dudarkoas
Apr 10 2017 06:39
проверил на ГИС ЖКХ-шном сертификате
их серийник в hex: 67 27 13 b6 00 03 00 03 15 9e, их серийник в dec: 487124591077193496597918
c vjbvb htpekmnfnfvb cjdgflf.n
с моими результатами совпадают
твой серийник в hex: 2c eb c0 24 00 03 00 02 ae cd, твой серийник в dec: 212132955294753462857421
doazet
@doazet
Apr 10 2017 06:42
@dudarkoas так этот ебантяй пробовал подставить? у меня вроде так же
пздц понедельник начался. чую, веселая неделька будет -_-
Anton
@dudarkoas
Apr 10 2017 06:42
@doazet, @slvAuthor тут и ты его можешь спросить, не используя при этом меня )
doazet
@doazet
Apr 10 2017 06:43
@dudarkoas а мне, может, ты больше нравишься :Р
@slvAuthor подставь прость 212132955294753462857421 строкой в xml
*просто
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:45
<clientCertificate findValue="‎‎212132955294753462857421" storeLocation="LocalMachine" x509FindType="FindBySerialNumber" />
Anton
@dudarkoas
Apr 10 2017 06:45
что это? )
doazet
@doazet
Apr 10 2017 06:46
О_о?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:46
в конфиге. и меня шлет
doazet
@doazet
Apr 10 2017 06:46
ты что творишь, извращенец?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:46
о_О
а что не так
Anton
@dudarkoas
Apr 10 2017 06:46
<ds:X509SerialNumber>212132955294753462857421</ds:X509SerialNumber>
как бы и усе )
вот пример
этот репозиторий склонировал
doazet
@doazet
Apr 10 2017 06:46
ипать с кем я в чате сижу
_<
опять смайл запорола, лол
Anton
@dudarkoas
Apr 10 2017 06:47
я думал это смайл "убиться об стену"
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:48
так что я делаю не так то о_О
doazet
@doazet
Apr 10 2017 06:48
@dudarkoas лол, отличная идея
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:48
<!-- в блоке findValue указывается серийный ключ сертификата -->
тут просто тяжело подумать другое
Anton
@dudarkoas
Apr 10 2017 06:48
@slvAuthor в xml результирующей добейся тега, как указано выше
так короче: <ds:X509SerialNumber>212132955294753462857421</ds:X509SerialNumber>
Daniel
@mortifactor
Apr 10 2017 06:48
ему нужен серийный номер в hex
для app.config
из WCF
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:49
@mortifactor ты меня понял)
Anton
@dudarkoas
Apr 10 2017 06:51
@slvAuthor "2c eb c0 24 00 03 00 02 ae cd" - не подходит?
гугл вещает, что при копировании из виндового окошка ты получаешь невидимый символ где-то
doazet
@doazet
Apr 10 2017 06:53
@dudarkoas в начале строки
Daniel
@mortifactor
Apr 10 2017 06:53
да, вот я об этом и говорил
doazet
@doazet
Apr 10 2017 06:53
ебантяи, блджад
Anton
@dudarkoas
Apr 10 2017 06:54
@doazet , как дельфи поживает?
doazet
@doazet
Apr 10 2017 06:54
@dudarkoas схб -___-
не злите меня с утра, я и так злая
Anton
@dudarkoas
Apr 10 2017 06:55
@doazet , как грубо, надо любить свою работу
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 06:57
@dudarkoas хм. ошибка поменялась)
но спасибо)
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:05
гис не мое)
doazet
@doazet
Apr 10 2017 07:06
@slvAuthor соберись, тряпка. Думаешь, почему я прибухиваю >_<
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:07
@doazet я уже три дня подрят вискарь в себя вливаю, печень скоро уйдет от меня
Anton
@dudarkoas
Apr 10 2017 07:12
пффф, я вот не пью, конфеты с чаем ем )
doazet
@doazet
Apr 10 2017 07:16
@dudarkoas а я вот в выходные почитала и все запасы сладкого съела :-(
Anton
@dudarkoas
Apr 10 2017 07:17
у меня коллега поставщик, я него отбираю =)
у
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:26
@doazet эх ты)
doazet
@doazet
Apr 10 2017 07:32
@slvAuthor я нечаянно! меня заставили! не надо звонить в гнк
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:33
@doazet поверь, мне сейчас не до тебя xD
я не могу нормально над апи гис жкх обертку сделать)
doazet
@doazet
Apr 10 2017 07:33
у меня чет тоже отвалилось -___-
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:33
а у меня и не работало)
doazet
@doazet
Apr 10 2017 07:33
не могу понять, что не так
ЭП не прошла проверку: Cannot find any certificates referenced by xades:SigningCertificate
блджад, нихуа вроде не трогала.
там-то валить-то нечего -__-
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:38
чет какая-то хуйня
прошу простить за мат
отправил неподписанный запрос, а он его принял
doazet
@doazet
Apr 10 2017 07:39
сит1 принимает
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:40

@doazet connect = 217.107.108.116:443

это не сит01

Daniel
@mortifactor
Apr 10 2017 07:41
некоторые запросы на экспорт можно не подписывать, насколько я помню
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:41
ну я дом выгружаю
@mortifactor если вспомнишь - можешь скинуть откуда ты это прочел/узнал
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 07:44
@slvAuthor На СИТ01 можно слать как с подписью, так и без подписи, когда шлешь без подписи указываешь http заголовке: X-Client-Cert-Fingerprint и в нем указываешь отпечаток сертификата.
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:45
@K0LbAzzeR я сейчас про ппак писал)
Daniel
@mortifactor
Apr 10 2017 07:46
@slvAuthor не помню :smiley: вроде экспериментальным путем там выяснял народ, экспорт это однозначно, может даже все запросы, хз.. но импорт только подписанные
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 07:46
@slvAuthor про ППАК не вкурсе, может какие и запросы можно и без подписи отправить, нужно чисто экспериментировать.
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 07:47
ладно, буду копать. просто на экспорт дом без подписи получилось выгрузить и оно работает
Daniel
@mortifactor
Apr 10 2017 07:50
еще справочники точно можно без подписи вытянуть
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:23

тут есть такой вопрос - кто может поделиться оберткой для работы с гис жкх. Логика приложения особа не нужны, просто методы работы с гис. Если у кого есть - в лс пишите) Договоримся

ап)

Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:32
желательно c#\java и прочие адекватыне ЯП)
Syber79
@Syber79
Apr 10 2017 08:34
ваще не вкуриваю что ты хочешь
WSDL скармливается среде и она сама классы генерит... :/
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:35
@Syber79 idea не генерит) если мы говорим про java + подписывать запрос надо)
Syber79
@Syber79
Apr 10 2017 08:35
NetBeans генерит
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:35
с пхп разобрался, но там куча проблем вылезло с namespace и прочим дерьмом(
в итоге я трачу кучу времени на костыли
Syber79
@Syber79
Apr 10 2017 08:35
А подпись я примером делаю
С Явой у меня так же куча проблем - в основном с подписью. У меня не получилось стандартными методами реализовать в клиенте к сервисам.
Приходится вынимать хмл, отправлять на подпись и плевать в сервис уже обычным http POST
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:37
ну подпись я сделал через питоновский скрипт. тупо обращаюсь к нему как к внешней программе. пхп не может нормальный xml сгенерить. в итоге xml приходится костылями подправлять
@Syber79 кстати, можешь getState запросом поделиться валидным? без подписи конечно)
Syber79
@Syber79
Apr 10 2017 08:39
А getState и не нада подписывать... Тут я как раз стандартными методами иду
Daniel
@mortifactor
Apr 10 2017 08:39
я кстати, когда думал без криптопро обойтись, начал делать подписывание через BouncyCastle, остановился на каноникализации xml, может когда-нибудь допилю..
Syber79
@Syber79
Apr 10 2017 08:40
Я тупо по примеру через криптопро\trusted java
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:40
@mortifactor ну я без крипто про) openssl пока
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:50
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="http://dom.gosuslugi.ru/schema/integration/base/">
    <SOAP-ENV:Header>
        <ns1:RequestHeader>
            <ns1:Date>2017-04-10T13:44:31+05:00</ns1:Date>
            <ns1:MessageGUID>guid</ns1:MessageGUID>
            <ns1:orgPPAGUID>guid</ns1:orgPPAGUID>
            <ns1:IsOperatorSignature>true</ns1:IsOperatorSignature>
        </ns1:RequestHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:getStateRequest>
            <ns1:MessageGUID>guid</ns1:MessageGUID>
        </ns1:getStateRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
["ErrorCode":protected]=>
    string(9) "AUT011005"
    ["Description":protected]=>
    string(57) "Ошибка формата подписи запроса"

Аналогично если убрать

<ns1:IsOperatorSignature>true</ns1:IsOperatorSignature>

где я лох?)
Daniel
@mortifactor
Apr 10 2017 08:55
хм, ну кстати у меня все getState подписываются
вроде
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 08:55
@mortifactor дай пример запроса плз
Daniel
@mortifactor
Apr 10 2017 08:55
чот не помню, ща посмотру
<?xml version="1.0" encoding="utf-8"?>
<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">urn:getState</Action>
        <h:RequestHeader xmlns="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:h="http://dom.gosuslugi.ru/schema/integration/base/">
            <Date>2017-04-10T15:58:07.3767117+07:00</Date>
            <MessageGUID>250cad80-cb40-4e60-a453-336bd1dd6daa</MessageGUID>
            <orgPPAGUID>561a0a93-a936-45ba-8aa2-d05492ec5969</orgPPAGUID>
        </h:RequestHeader>
    </s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <getStateRequest xmlns="http://dom.gosuslugi.ru/schema/integration/base/">
            <MessageGUID>cfc17c9f-1dcb-11e7-98c8-005056b62705</MessageGUID>
        </getStateRequest>
    </s:Body>
</s:Envelope>
не, не подписывается, забыл уже..
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:02
ругается на твой) не валидный
на это ругается
        <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">urn:getState</Action>
Syber79
@Syber79
Apr 10 2017 09:17
А ты его куда отправляешь?
Там жеж сервис имеет значение и функция к которой обращаешся...
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:18
в плане?
/ext-bus-home-management-service/services/HomeManagementAsync
Syber79
@Syber79
Apr 10 2017 09:18
Вот в этом плане...
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:19
самое смешное еще в пятницу у меня асинхронные запросы работали и я справочники к сееб выгрузил
Syber79
@Syber79
Apr 10 2017 09:19
POST /ext-bus-home-management-service/services/HomeManagementAsync HTTP/1.1
Accept: text/xml, multipart/related
Authorization: Basic c2l0OnJaX0dHNzJYU15WZjU1Wlc=
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:getState"
User-Agent: JAX-WS RI 2.2.6-1b01 svn-revision#13094
Host: localhost:8080
Connection: keep-alive
Content-Length: 1943
X-Forwarded-For: 127.0.0.1
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:19
ну я через пхп отправляю
doazet
@doazet
Apr 10 2017 09:20
через пхп >_<
платиновые цитаты чатика
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:21
ну простите что не делфи)
Syber79
@Syber79
Apr 10 2017 09:21
Я просто подозреваю, что у тя SOAPAction: "urn:getState" отсутствует
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:22
да не, я до этого же справочники выгрузил как-то.
у меня Ошибка формата подписи запроса
Syber79
@Syber79
Apr 10 2017 09:23
State не нада подписывать

POST /ext-bus-home-management-service/services/HomeManagementAsync HTTP/1.1
Accept: text/xml, multipart/related
Authorization: Basic c2l0OnJaX0dHNzJYU15WZjU1Wlc=
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:getState"
User-Agent: JAX-WS RI 2.2.6-1b01 svn-revision#13094
Host: localhost:8080
Connection: keep-alive
Content-Length: 1943
X-Forwarded-For: 127.0.0.1

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><ns2:RequestHeader xmlns="http://dom.gosuslugi.ru/schema/integration/house-management/" xmlns:ns2="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:ns3="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:ns4="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/" xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/individual-registry-base/" xmlns:ns6="http://dom.gosuslugi.ru/schema/integration/account-base/" xmlns:ns7="http://dom.gosuslugi.ru/schema/integration/metering-device-base/" xmlns:ns8="http://www.w3.org/2000/09/xmldsig#" xmlns:ns9="http://dom.gosuslugi.ru/schema/integration/organizations-base/" xmlns:ns10="http://dom.gosuslugi.ru/schema/integration/bills-base/"><ns2:Date>2017-04-10T14:14:54.556+05:00</ns2:Date><ns2:MessageGUID>a8cbb713-6f0b-4ddd-8e87-26b8605e5e90</ns2:MessageGUID><ns2:orgPPAGUID>169c996d-caf3-4ea0-a061-e8d55f5292ee</ns2:orgPPAGUID><ns2:IsOperatorSignature>true</ns2:IsOperatorSignature></ns2:RequestHeader></S:Header><S:Body><ns2:getStateRequest xmlns="http://dom.gosuslugi.ru/schema/integration/house-management/" xmlns:ns2="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:ns3="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:ns4="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/" xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/individual-registry-base/" xmlns:ns6="http://dom.gosuslugi.ru/schema/integration/account-base/" xmlns:ns7="http://dom.gosuslugi.ru/schema/integration/metering-device-base/" xmlns:ns8="http://www.w3.org/2000/09/xmldsig#" xmlns:ns9="http://dom.gosuslugi.ru/schema/integration/organizations-base/" xmlns:ns10="http://dom.gosuslugi.ru/schema/integration/bills-base/"><ns2:MessageGUID>d970e385-184a-11e7-98e8-005056b61d43</ns2:MessageGUID></ns2:getStateRequest></S:Body></S:Envelope>

Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:23
я и не подписываю
Syber79
@Syber79
Apr 10 2017 09:23
Значит где то объявляешь элемент с ID
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:24
и его нету (что бы объявить его, мне надо было кучу костылей добавить. случайно не получится)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="http://dom.gosuslugi.ru/schema/integration/base/">
    <SOAP-ENV:Header>
        <ns1:RequestHeader>
            <ns1:Date>2017-04-10T14:23:43+05:00</ns1:Date>
            <ns1:MessageGUID>304F35B9-1162-451A-7F36-D2E6ED02C909</ns1:MessageGUID>
            <ns1:orgPPAGUID>b30f72ca-3f4c-455c-9d73-fc0e6bf870d6</ns1:orgPPAGUID>
            <ns1:IsOperatorSignature>true</ns1:IsOperatorSignature>
        </ns1:RequestHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:getStateRequest>
            <ns1:MessageGUID>3d293b89-1dc3-11e7-b643-005056b64bd9</ns1:MessageGUID>
        </ns1:getStateRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:32

Шарперы помогите разобраться WCF, МОСК уже кипит, в общем создаем хост
Версия без файла конфигурации:
var host = new ServiceHost(typeof(Service));
host.AddServiceEndpoint(
typeof(IContract),
new WSHttpBinding(),
"http://localhost"
);

        host.Open();

Версия с файлом конфигурации:
using (var host = new ServiceHost(typeof(Service)))
{
host.Open();
}
Теперь делаем клиент без файла конфигурации (через фабрику):
var channel = ChannelFactory<IContract>.CreateChannel(
new WSHttpBinding(),
new EndpointAddress("http://localhost")
);
Вопрос как реализовать клиент с файлом конфигурации?

Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:32
@K0LbAzzeR ты с нуля или по статье пилишь?)
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:34
@slvAuthor пока только разбираюсь с WCF, так то универсальная, гибкая и мощная штука, но пока чет клинит от нее мой МОСК :)
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:34
@K0LbAzzeR я пытался тоже разобраться) правда взял за основу уже пример проекта дабы сильно мозг не ломать)
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:36
@slvAuthor тут реально понять тонкости, а там потом можно универсальные штуки клепать... я прям это чЮвствую :)
Анатолий
@Anat56
Apr 10 2017 09:38
@K0LbAzzeR Прокси класс автоматом сгенерировал?
svcutil и файл конфигурации сделает
подправить только
немного
адрес endpoint
Daniel
@mortifactor
Apr 10 2017 09:40
@K0LbAzzeR а зачем тебе хост? или ты просто экспериментируешь?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:41
@Anat56 endpoint натравить на маг туннель?)
Анатолий
@Anat56
Apr 10 2017 09:41
зачем он?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:41
или стоп
Анатолий
@Anat56
Apr 10 2017 09:41
wcf и так через ssl может
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:42
а что там в endpoint менять
Анатолий
@Anat56
Apr 10 2017 09:42
адрес он вроде не корректный раньше делал
тем более смотря куда цепляться
СИТ01, СИТ02, ППАК
давно сюда не заглядывал - не знаю ссылки на demo проект c# сохранились или нет
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:46
первый у меня упорно ругается на отпечаток сертитфиката)
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:46
@mortifactor ну да экспериментирую, что бы понять что происходить как на клиенте, так и на хосте. Возможно будет реализация "моста" (клиент ГИС + наш сервер, но "формат данных" ГИС (с доступом во внутренней сети (для сбора данных, через тот же WCF, но другим "разношёрстным" ПО))
Анатолий
@Anat56
Apr 10 2017 09:47
с отпечатком осторожнее - когда его копируешь через буфер обмена в винде - вначале непечатный символ есть
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:47
@Anat56 знаю. но чет все равно я не то делаю
Анатолий
@Anat56
Apr 10 2017 09:48
тестовое приложение я выкладывал на cyberforum.ru
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:48
@Anat56 на чем делал?
Анатолий
@Anat56
Apr 10 2017 09:48
на c#
на основе библиотек, который "допилил" топикстартер данного чата
используется криптопро.net
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:50
поделишься ссылкой?
Daniel
@mortifactor
Apr 10 2017 09:50
кстати спасибо, я вот это тестовое и взял за основу :smiley: тоже слегка подпилил для себя правда
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:50
@Anat56 я тоже все таки склоняюсь к Крипто ПРО, как то проблем с ФСБ потом не охота :)
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:51
@K0LbAzzeR я примерно так же хочу сделать) клиент гис - бд - по для работы со всей логикой
Анатолий
@Anat56
Apr 10 2017 09:51
тут вроде уже и без него есть варианты решения, но мы решили не заморачиваться - дешевле криптопро.net купить, чем геморрой
если потерялась ссылка на обсуждение на форуме, то вот последние страницы
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:52
@Anat56 да можно openssl + stunnel заюзать) я на пхп поднял, но проблемы в самом языке да и сертифиццировать все равно надо
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:52
@slvAuthor я вот тоже решил сначала все изучить, что да как, потом раз сесть все спроектировать, дабы потом меньше костылей пилить в будущем.
Анатолий
@Anat56
Apr 10 2017 09:53
хочется избежать многозвенных цепочек
поэтому всё через одно приложение сделали
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:53
@Anat56 не любю монолитные программы)
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:53
@Anat56 ну понятно что охота сделать как проще, но не всегда получается так...
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:54
да и проще в команде, я тут пытаюсь с гисом подружится, второй апи для бд пилить, остальные по для операторов
Анатолий
@Anat56
Apr 10 2017 09:54
канал сам wcf нормально поднимает
и без криптопро.net\
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:54
или ты про другое
Анатолий
@Anat56
Apr 10 2017 09:54
через него только подпись
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 09:55
@slvAuthor если спроектировано вначале нормально, то "монолиты" это тоже не плохо... в частности например все в одном проекте в студии (но разбито на под проекты и далее по иерархии)
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 09:56
может, тут все еще от качества исполнения зависит)
но unix way мне больше по душе)
Анатолий
@Anat56
Apr 10 2017 10:00
сейчас выложу снова тестовое приложение
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 10:01
@Anat56 ок. будет хорошо бы посмотреть)
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 10:02
Вот тут новая тема http://www.cyberforum.ru/web-services-wcf/thread1954969.html как раз так и называется .NET 4.x Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel - C# WCF @slvAuthor может будет интересно тебе почитать
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 10:07
@K0LbAzzeR спасибо)
Анатолий
@Anat56
Apr 10 2017 10:27
надо будет тоже изучить
Анатолий
@Anat56
Apr 10 2017 10:39
вот демо приложение можно подписать запрос для отсылки через soapui или получить элементы справочника
в app.config прописан наш отпечаток сертификата
заменить на свой
так же там прокси прописан
Nikita
@springjazzy
Apr 10 2017 11:04
Вот тут новая тема http://www.cyberforum.ru/web-services-wcf/thread1954969.html как раз так и называется .NET 4.x Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel - C# WCF @slvAuthor может будет интересно тебе почитать
круто. Я начал делать, даже ветку сделал, но руки не дошли..
у нас как-то у всех заказчиков КриптоПро
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 11:06
ну используется крипто net) та же шняга, не?)
Nikita
@springjazzy
Apr 10 2017 11:07
у меня в проекте КриптоПро там всего в нескольких местах используется. Автор эти места изменил на вызов Crypto.API
так что нет. У него видимо не используется
или я не понял вопрос )
Vershinin Sergey
@versh23
Apr 10 2017 11:10
жаль что код в архиве где то на форуме(
doazet
@doazet
Apr 10 2017 11:24
@springjazzy он по ходу про крипто про говорит
@slvAuthor насколько я вижу, там любой гостовский криптопровайдер может использоваться, но работоспособность не проверяла
Konstantin Slabouzov
@clip71
Apr 10 2017 11:28

кто нить пробовал сменить на ПУ привязку к ЛС ? у меня на

      <MeteringDevice>
        <p5:TransportGUID>42db8615-8d19-4fb3-b4ce-1f77cc38dbf0</p5:TransportGUID>
        <DeviceDataToUpdate>
          <MeteringDeviceVersionGUID>3aa13952-8dce-40ea-af25-27884f3d6bf2</MeteringDeviceVersionGUID>
          <UpdateAfterDevicesValues>
            <AccountGUID>a0d91f2a-c925-40ea-91e5-5d114ae814fe</AccountGUID>
            <MunicipalResourceNotEnergy>
              <MunicipalResource xmlns="http://dom.gosuslugi.ru/schema/integration/metering-device-base/">
                <Code xmlns="http://dom.gosuslugi.ru/schema/integration/nsi-base/">2</Code>
                <GUID xmlns="http://dom.gosuslugi.ru/schema/integration/nsi-base/">2e8087b5-ce3b-4d59-a0f7-4272a9c29437</GUID
>
                <Name xmlns="http://dom.gosuslugi.ru/schema/integration/nsi-base/">Горячая вода</Name>
              </MunicipalResource>
              <MeteringValue xmlns="http://dom.gosuslugi.ru/schema/integration/metering-device-base/">0.0000000</MeteringValu
e>
            </MunicipalResourceNotEnergy>
            <NotLinkedWithMetering>true</NotLinkedWithMetering>
          </UpdateAfterDevicesValues>
        </DeviceDataToUpdate>
      </MeteringDevice>

возвращает SRV007019: По прибору учета №13859672 внесены показания, изменение основных сведений о приборе учета невозможно.

как быть, если прибор остался а ЛС сменился, хотя и вызываю UpdateAfterDevicesValues - как бы уже после внесенных показаний
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 11:34

я тут пока wcf пытаюсь запустить. опять же, используя асинхронные запросы. не могу понять куда orgPPAGUID указывать

            var getState = new getStateRequest1 {
                RequestHeader = new RequestHeader
                {
                    Date = DateTime.Now,
                    MessageGUID = Guid.NewGuid().ToString(),

                },
                getStateRequest = new getStateRequest {
                    MessageGUID = "3d293b89-1dc3-11e7-b643-005056b64bd9"
                }
            };

            var resultExport = houseManagementService.getState(getState);

По wsdl надо в RequestHeader указать, но полей нету. генерил прокси классы через SvcUtil.exe

Nikita
@springjazzy
Apr 10 2017 11:35
@clip71 интересный вопрос
doazet
@doazet
Apr 10 2017 11:35
@clip71 вот щи
Nikita
@springjazzy
Apr 10 2017 11:36
@slvAuthor
new RequestHeader
{
Date = DateTime.Now,
MessageGUID = messageGuid.ToString().ToLowerInvariant(),
Item = orgPPAGUID,
ItemElementName = ItemChoiceType.orgPPAGUID,
IsOperatorSignature = true,
IsOperatorSignatureSpecified = true
};
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 11:37
о как
спс
Konstantin Slabouzov
@clip71
Apr 10 2017 11:39
@springjazzy то есть вопрос интересный, но не решаемый ? :)
doazet
@doazet
Apr 10 2017 11:40
@clip71 в тп пиши
Konstantin Slabouzov
@clip71
Apr 10 2017 11:42
самое интересное, что на сайте СИТ1 и редактированием не меняется, то есть меняется, но при обновлении остается как было
doazet
@doazet
Apr 10 2017 11:44
@clip71 я думаю, что по ходу надо новый счетчик заводить
Konstantin Slabouzov
@clip71
Apr 10 2017 11:45
@doazet будем писать
doazet
@doazet
Apr 10 2017 11:55
@clip71 я практически уверена, что они ответят "не для тебя наш уникальный номер цвел. заводи по новой"
Konstantin Slabouzov
@clip71
Apr 10 2017 12:02
@doazet дак вроде предусмотренна такая ситуация судя по формату
Syber79
@Syber79
Apr 10 2017 12:03
А может к счетчику еще ЛС добавить?
А старый ЛС закроется как расторгнутый
Konstantin Slabouzov
@clip71
Apr 10 2017 12:04
так я и посылаю с новым AccountGUID
Syber79
@Syber79
Apr 10 2017 12:04
надо посылать с Ставый, Старый, Новый
там же ЛС списками
Konstantin Slabouzov
@clip71
Apr 10 2017 12:04
или предлагаешь 2-й ЛС добавить?
Syber79
@Syber79
Apr 10 2017 12:05
ага... второй
У старого ЛС должна же оставаться история его приборов
Хоть ЛС и закрылся... но все потраха должны оставаться
Konstantin Slabouzov
@clip71
Apr 10 2017 12:06
хз.. вроде в ПУ реализована история, должно быть достаточно
в любом случае получается куча обращений на сервер для смены ЛС: 1. открыть новый ЛС, 2. обновить ПУ 3. закрыть старый ЛС
т.к. старый ЛС не закрывает с другой ошибкой: SRV008015: Закрытие следующих лицевых счетов невозможно. По лицевому счету №150205375 зарегистрированы индивидуальные, общие (квартирные), комнатные приборы учета: прибор учета №19853039 коммунального ресурса <null>; прибор учета №19853787 коммунального ресурса <null>;
Syber79
@Syber79
Apr 10 2017 12:11
Еще хуже...
Нада получить дом с потрахами... И только потом присунуть новый ЛС. Потому, что вчера УК или администрайия в этом доме сменили тип дома и квартиры перекидала
Vershinin Sergey
@versh23
Apr 10 2017 12:13
ребят, все уже ОЖФ синхронизировали со своими системами? подскажите, какая у вас скорость примерно на ППАК ?)
Syber79
@Syber79
Apr 10 2017 12:13
0,3 - 3 секунды на запрос.
В среднем 0,7 секунд. Без учета того, что обращаться приходится минимум дважды... Подать зарос, забрать результат
Vershinin Sergey
@versh23
Apr 10 2017 12:15
значит все нормально...)
Konstantin Slabouzov
@clip71
Apr 10 2017 12:25
@Syber79 ну так и получается, делаю так: сперва все собрал, сравнил опять же все, что то сохранил у себя, что то в ГИС тиснул. и так всегда
сразу строю процедуру регулярного обновления, а не первичной загрузки
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 12:30

весь день пытаюсь понять где я ошибаюсь

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns1="http://dom.gosuslugi.ru/schema/integration/base/">
    <SOAP-ENV:Header>
        <ns1:RequestHeader>
            <ns1:Date>2017-04-10T17:28:39+05:00</ns1:Date>
            <ns1:MessageGUID>843865E1-86F6-CCC5-1862-873B7A3EAD6A</ns1:MessageGUID>
            <ns1:orgPPAGUID>b30f72ca-3f5c-455c-9d73-fc0e6bf870d6</ns1:orgPPAGUID>
            <ns1:IsOperatorSignature>true</ns1:IsOperatorSignature>
        </ns1:RequestHeader>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:getStateRequest>
            <ns1:MessageGUID>3d293b89-1dc3-11e7-b673-005056b64bd9</ns1:MessageGUID>
        </ns1:getStateRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
["ErrorCode":protected]=>
    string(9) "AUT011005"
    ["Description":protected]=>
    string(57) "Ошибка формата подписи запроса"

Я не подписываю данный запрос. Пытаюсь как и с

<ns1:IsOperatorSignature>true</ns1:IsOperatorSignature>

так и без

Denis Ulyanov
@DenisUlyanov
Apr 10 2017 13:16
неужели я один с этой проблемой столкнулся?)
Vershinin Sergey
@versh23
Apr 10 2017 13:41
@slvAuthor так это getstate, а значит ошщибка от асинхронного запроса
вот его надо смотреть
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 13:44
@versh23 то есть это ответ на предыдущий запрос который я отправлял?)
как-то не то
Vershinin Sergey
@versh23
Apr 10 2017 13:45
@slvAuthor почему?
3d293b89-1dc3-11e7-b673-005056b64bd9 ошибка в этом запросе скорее всего
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 14:04

а это что за ошибка?
Зарегистрированная организация по SenderID не совпадает с организацией зарегистрированного должностного лица, указанного в сертификате открытого ключа

есть организация которая является ее поставщиком информации. взял ее orgPPAGUID и засунул в SenderID, в orgPPAGUID подсунул наш.

p.s. читать умею, но не могу понять в чем я ошибься
Vershinin Sergey
@versh23
Apr 10 2017 14:06
я из разработки выпал доволоньно долго, разве senderID еще используется?
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 14:06
да я и с ним и без него пытаюсь)
если только наш orgPPAGUID указываю, то получаю ошибку "операция не разрешена" хоть права нам выданы
если указываю в качестве orgPPAGUID данные поставщика, то аналогично - senderID не совпадает и пофиг что он пустой
Vershinin Sergey
@versh23
Apr 10 2017 14:13
щас домой, завтра гляну
если еще актуально будет
Denis Ulyanov
@DenisUlyanov
Apr 10 2017 14:18
ок
будет актуально
я сам собираюсь домой
под вечер не сображаю
K0LbAzzeR
@K0LbAzzeR
Apr 10 2017 15:11
@slvAuthor senderID скоро выйдет из обихода вообще, на смену ему есть orgPPAGUID им и надо пользоваться, а ошибка "операция не разрешена" явно указывает на то что операция не делегирована поставщиком данных.