These are chat archives for springjazzy/GIS_JKH_Integration

24th
Aug 2016
Vladimir
@asnetsoft
Aug 24 2016 03:15
@versh23 Cогласно ГИСовской табличке, всего 46 ИС успешно прошли тестирование, откуда информация про 580 ИС?
7vitaly-krasovsky7
@7vitaly-krasovsky7
Aug 24 2016 05:33
@versh23 Это наверно они считали всех, кто в состоянии хотя бы exportOrgRegistry отправить :)
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 06:03
@asnetsoft в excel-табличке 149 ИС, правда где-то рядом)
Vladimir
@asnetsoft
Aug 24 2016 06:19
@pavelDruzhinin Ага, всего 149 из которых 46 успешно прошли тестирование, плюс несколько ещё на тестировании.
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 06:20
открою вам страшную тайну, для коммерческой ИС необязательно проходить тестирование
ndbn
@ndbn
Aug 24 2016 06:22
Там скорей всего попали ИС, которые являются 1С и имеют возможноть только выгружать в Excel
Это ж тоже интеграция
7vitaly-krasovsky7
@7vitaly-krasovsky7
Aug 24 2016 06:29
Коллеги, а у кого-нибудь СИТ-02 работает?
Они опять что ли там что-то творят?
ndbn
@ndbn
Aug 24 2016 06:33
Служба оператора сообщает, что на портале
с 09:25 до 10:05 проводятся регламентные работы.
Попробуйте повторить попытку позже.
7vitaly-krasovsky7
@7vitaly-krasovsky7
Aug 24 2016 06:35
Сдается мне стоит ждать новых форматов :worried:
после этих регламентных работ
VVi3ard
@VVi3ard
Aug 24 2016 07:03
"Там скорей всего попали ИС, которые являются 1С и имеют возможноть только выгружать в Excel" через EXCEL пока тоже не работает интеграция. ДА и последних шаблонов все еще нет.
Вообще это конечно безобразие выкатывать новую платформу а потом выкладывать шаблоны
точнее потом еще и не выкладывать шаблоны.
ndbn
@ndbn
Aug 24 2016 07:10
Так если 1 раз проверяли, работало, а потом сломали, то второй раз то не будут проверять, ИС пошла в зачет
ndbn
@ndbn
Aug 24 2016 07:57
Это гениально, я считаю:
[System.Xml.Serialization.XmlElementAttribute("Month", typeof(int), Namespace="http://dom.gosuslugi.ru/schema/integration/10.0.0.6/", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Year", typeof(short), Namespace="http://dom.gosuslugi.ru/schema/integration/10.0.0.6/", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PaymentDocument", typeof(importPaymentDocumentRequestPaymentDocument), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PaymentInformation", typeof(importPaymentDocumentRequestPaymentInformation), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("WithdrawPaymentDocument", typeof(importPaymentDocumentRequestWithdrawPaymentDocument), Order=0)]
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 07:59
Дак так уже давно
ndbn
@ndbn
Aug 24 2016 07:59
Я был в отпуске :)
7vitaly-krasovsky7
@7vitaly-krasovsky7
Aug 24 2016 10:31
@ndbn Это откуда? Что за операция?
ndbn
@ndbn
Aug 24 2016 11:01
@7vitaly-krasovsky7 Квитанция:
public partial class importPaymentDocumentRequest : BaseType
    {

        private object[] itemsField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Month", typeof(int), Namespace="http://dom.gosuslugi.ru/schema/integration/10.0.0.6/", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("Year", typeof(short), Namespace="http://dom.gosuslugi.ru/schema/integration/10.0.0.6/", Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PaymentDocument", typeof(importPaymentDocumentRequestPaymentDocument), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("PaymentInformation", typeof(importPaymentDocumentRequestPaymentInformation), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("WithdrawPaymentDocument", typeof(importPaymentDocumentRequestWithdrawPaymentDocument), Order=0)]
        public object[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
            }
        }
    }
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 11:08
Они просто решили особо не запариваться:)
ndbn
@ndbn
Aug 24 2016 11:22
Интересно, как на их стороне информация восстанавливается. Стандартный xml парсер Java это делает, знает кто?!
Просто интересно как определяется что за элемент. Я вижу только попытку приведения к типу, например short, если удачно, то это Year, но если в массиве он идет первым, то парсер его определит как Month ведь.
7vitaly-krasovsky7
@7vitaly-krasovsky7
Aug 24 2016 11:28
@ndbn Обычно дальше следует еще один массив public object[] ItemsElementName, который для конкретно значения из Items ставит в соответствие значение из ItemsElementName с именем. Если такого ItemsElementName нет, то это косяк на их стороне.
ndbn
@ndbn
Aug 24 2016 11:31
@7vitaly-krasovsky7 ItemsElementName бывает когда в Items есть объекты одного типа
7vitaly-krasovsky7
@7vitaly-krasovsky7
Aug 24 2016 11:42
@ndbn Вы разве не это спрашивали? Могут быть объекты одного типа, значит должен быть ItemsElementName. Если типы уникальны, то они могут однозначно определить что за тип. При упаковке в object реальный тип также ведь хранится. Соответственно short с int перепутать невозможно.
ndbn
@ndbn
Aug 24 2016 11:50
@7vitaly-krasovsky7 не, мне интересно как конкретно java это решает. short и int не уникальны, а при упаковке в object информация о реальном типе не хранится, набор полей да. Но им на сервер прилетит не object а xml где информации о типе нет и если в массиве первый элемент будет 2016 он запросто приведется к Month, дальше может быть навешан некий валидатор который проверит, что значение Month лежит в пределах 1 и 12 и если это не так тровнет эксепшн, но без валидатора всё должно быть окей, и если второй элемент будет 08 он так же станет Year, по крайне мере для меня это логично
Так вот если валидатора там нет на их стороне, нужно в таком же порядке элементы в массив и складывать иначе будет как я написал...
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 11:53
@ndbn я думаю, они не мыслят так глубоко, поэтому столько всяких приколов при выгрузке
ndbn
@ndbn
Aug 24 2016 12:00

@pavelDruzhinin ну вот согласно файла xsd:

<xs:simpleType name="MonthType">
        <xs:annotation>
            <xs:documentation>Тип, описывающий месяц</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:int">
            <xs:maxInclusive value="12"/>
            <xs:minInclusive value="1"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="Month" type="tns:MonthType">
        <xs:annotation>
            <xs:documentation>Месяц</xs:documentation>
        </xs:annotation>
    </xs:element>

т.е. какая-то валидация должна быть и тип должен быть tns:MonthType, а в сгенерированном коде почему-то int

Tolstykh Irina
@tolstykhia
Aug 24 2016 12:08
@ndbn им приходит xml, в котором месяц будет не просто в первом элементе массива, а в теге Month, значение этого тега они приводят к своему типу MonthType. Вы же когда отправляете данные к ним, этот массив Items сериализуется в определенную часть отправляемого xml-ника, при этом значение типа int ляжет в тег Month, а значение типа short - в тег Year
ndbn
@ndbn
Aug 24 2016 12:17
@tolstykhia была такая мысль. А зачем тогда ItemsElementName если там всё в теги оборачивается...
ndbn
@ndbn
Aug 24 2016 12:31
@tolstykhia проверил, вы правы, элементы действительно оборачиваются в наименование, интересно
порядок такой, как кладется в массив
Tolstykh Irina
@tolstykhia
Aug 24 2016 12:35
@ndbn ItemsElementName нужен для сериализации xml, чтобы однозначно определять какое значение в какой тег ложить, когда в массиве передаются элементы одного типа, а если типы разные, то сериализатор положит их в нужные теги без ItemsElementName
@ndbn по всей видимости оно работает так))
ndbn
@ndbn
Aug 24 2016 12:36
Вроде догнал как это работает, все элементы указанного типа, например int получат в XML файле тег Month
@tolstykhia похоже и тут вы правы, логично :)
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 12:38
Поэтому они и напридумывали "своих" типов
Tolstykh Irina
@tolstykhia
Aug 24 2016 12:51
@pavelDruzhinin да и не в "их" типах главная беда, думаю если бы не было бы их любимых choic'ов и sequenc'ов, там где можно было бы просто указать набор полей, с правилами заполнения в документации, нам бы жилось несколько проще))
Pavel Druzhinin
@pavelDruzhinin
Aug 24 2016 13:08
@tolstykhia как говорится проблемы негров не е**т шерифа)
kewi4
@kewi4
Aug 24 2016 13:12
Всем привет! Свалилась данная задача и на меня.. Еще ничего толком не понял, кто может пнуть в правильном направлении.. я так понимаю у ГИСа есть свои классы для формирования XML где их посмотреть как пощупать? На портале сейчас не дает зайти в Дополнительная информация -> электронные документы=( Если я правильно понимаю берем ИХ классы готовим XML шифруем Xades и отплевываем в ГИС? Поправьте меня.
ndbn
@ndbn
Aug 24 2016 13:22
@kewi4 вы же на киберфоруме тему видели, начните с неё и этот чат с начала можно