Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы, WCF
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/501: Рейтинг темы: голосов - 501, средняя оценка - 4.71
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
09.12.2016, 12:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от mikgusev Посмотреть сообщение
рады поглядеть в исходники
Копаться в чужих исходниках - это намного дольше, чем на форуме получить конкретный ответ на чётко сформулированный вопрос, а у ваших ребят времени нет и у меня тоже.
Если я отдам весь проект - меня уволят.
Если буду кусочки вырезать, не успею платёжные документы разместить в ГИС, тогда наши заказчики получат штрафы.


По тем ссылкам, что я дал вам всего-лишь необходимо сделать две вещи:
- научиться канонизировать XML;
- научиться получать Hash по ГОСТу через С++ API КриптоПРО SDK.

В этом готов помочь прямо здесь на форуме. Задавайте конкретные вопросы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2016, 12:01
Ответы с готовыми решениями:

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (3)
Предыдущая тема: https://www.cyberforum.ru/web-services-wcf/thread1776736.html Кто нибудь знает откуда брать справочники NsiRef по...

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ
Здравствуйте! Передо мной стоит задача интеграции с системой ГИС ЖКХ (https://dom.gosuslugi.ru/) программой, написанной на языке...

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (5)
Предыдущая тема: https://www.cyberforum.ru/web-services-wcf/thread1840159.html И так мы Я и umatkot, Берёмся за реализацию всего этого...

718
0 / 0 / 0
Регистрация: 22.11.2016
Сообщений: 5
09.12.2016, 13:53
Цитата Сообщение от Umatkot_Primtep Посмотреть сообщение
Пока только известен ExportHouseData или REST - на крайняк может выручить.
Про rest расскажите, пожалуйста. По предыдущим упоминаниям в этой теме, предполагаю, что это внутренний протокол личного кабинета. Для него существует какая-нибудь документация или описание? Возможно ли его использовать для интеграции с ГИС?
0
5 / 5 / 0
Регистрация: 12.09.2016
Сообщений: 24
09.12.2016, 15:14
Начал переделывать на работу с асинхронными запросами и сразу столкнулся с ошибкой. Сами запросы обрабатываются нормально, а при попытке получить результат, через getState, вылетает ошибка "Необработанное исключение типа "System.Xml.XmlException" в mscorlib.dll Дополнительные сведения: Эти данные на корневом уровне недопустимы. Строка 1, позиция 1.". Добавил свой IClientMessageInspector, в нем (перед отправкой запроса) запрос стерилизован правильно, видимо проблемы с ответом!? Посоветуйте, что где можно посмотреть.
0
 Аватар для iglxp
3 / 3 / 0
Регистрация: 04.12.2014
Сообщений: 25
09.12.2016, 16:55
парни напишите у кого что уже работает ?!
получается ли размещать счета или что нибудь вообще
0
5 / 5 / 0
Регистрация: 12.09.2016
Сообщений: 24
10.12.2016, 04:33
Все оказалось просто) В запросе, где не подписывалось тело, не корректно формировался запрос.
0
32 / 30 / 0
Регистрация: 21.10.2016
Сообщений: 187
10.12.2016, 09:08
Штрафы управдомам отложат на год

Цитата Сообщение от Российская Газета
Штрафы для управляющих компаний, которые вовремя не опубликовали в государственной информационной системе жилищно-коммунального хозяйства (ГИС ЖКХ) информацию о своей работе или платежки жителей, могут отложить на один год. С инициативой перенести их на 1 января 2018 года выступило Министерство связи и массовых коммуникаций РФ.
Комитет Госдумы по жилищной политике и жилищно-коммунальному хозяйству одобрил пакет поправок в закон о ГИС ЖКХ, которые как раз сдвигают сроки ответственности. Скорее всего, их примут до начала 2017 года, считают эксперты.
Хотелось бы чтобы они приняли их в этом году,а то сидеть в новогодние праздники на работе что-то не хочется.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
10.12.2016, 14:20
amironov79, Про REST рассказывать можно много, на самом деле, да - личный кабинет работает с системой ГИС ЖКХ посредством REST JSON запросов. Если имеются, например, рутинные действия по получению информации с ЛК, то можно изменить внутренний запрос REST под свои критерии. Документации по нему нет, WSDL тоже не выскакивает по запросу. Только методом проб и ошибок. Для получения домов можно просто открыть один дом или договор РСО и взглянуть в ответ. От ГИС ответы приходят полные и внутри много тех данных, тех, что мы можем видеть через SOAP UI.
Сами запросы инспектировал и пересылал с помощью Fiddler - он позволил вклиниться в HTTPS ГИС ЖКХ. Для того, чтобы работал Fiddler и он мог дешифровать трафик ГИС - нужно, чтобы на машине стоял КриптоПро.NET
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
10.12.2016, 16:54
Также, раньше, REST был самым надёжным из тех, чтобы просто проверить адрес в ГИС ЖКХ.
0
0 / 0 / 0
Регистрация: 22.11.2016
Сообщений: 5
11.12.2016, 21:03
Цитата Сообщение от Umatkot_Primtep Посмотреть сообщение
amironov79, Про REST рассказывать можно много, на самом деле, да - личный кабинет работает с системой ГИС ЖКХ посредством REST JSON запросов. Если имеются, например, рутинные действия по получению информации с ЛК, то можно изменить внутренний запрос REST под свои критерии.
Получается, для оператора ИС данный способ не подходит, так как нужен доступ к кабинету поставщика данных? Или есть варианты?

Очень часто встречаются операции, которые проходят через личный кабинет, но не проходят через soap с системными или внутренними ошибками в ответе.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
12.12.2016, 02:00
amironov79, К сожалению, да, это так. Личный кабинет выдаёт информацию только для авторизованных пользователей.
1
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
12.12.2016, 07:30
Всем привет. Скажите пожалуйста в чем может быть причина, на СИТ 02 отправляю запрос на импорт лицевых счетов, ответ приходит очень "содержательный": "Внутренняя ошибка EXP001000" и не могу понять из за чего, ошибка в запросе, или может это вообще глюк СИТ.
запрос такой:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:hous="http://dom.gosuslugi.ru/schema/integration/house-management/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:nsi="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:ind="http://dom.gosuslugi.ru/schema/integration/individual-registry-base/" xmlns:org="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/" xmlns:acc="http://dom.gosuslugi.ru/schema/integration/account-base/">
   <soapenv:Header>
      <base:RequestHeader>
         <base:Date>?</base:Date>
         <base:MessageGUID>?</base:MessageGUID>
         <base:orgPPAGUID>366857c7-7bdd-4005-95f9-e8f21fa901a3</base:orgPPAGUID>
         </base:RequestHeader>
   </soapenv:Header>
   <soapenv:Body>
      <hous:importAccountRequest Id="signed-data-container" base:version="10.0.1.1">
         <hous:Account>
              <hous:isUOAccount>true</hous:isUOAccount>
             <hous:LivingPersonsNumber>1</hous:LivingPersonsNumber>
            <hous:TotalSquare>30</hous:TotalSquare>
            <hous:ResidentialSquare>30</hous:ResidentialSquare>
            <hous:HeatedArea>30</hous:HeatedArea>
            <hous:Accommodation>
                <hous:PremisesGUID>0b17b141-2d1f-46df-bede-61ef7be2a951</hous:PremisesGUID>
               <hous:SharePercent>100</hous:SharePercent>
            </hous:Accommodation>
            <hous:PayerInfo>
               <hous:Ind>
                  <ind:Surname>Проверка</ind:Surname>
                  <ind:FirstName>Как</ind:FirstName>
                  <ind:Patronymic>Работает</ind:Patronymic>
                  <ind:ID>
                     <ind:Type>
                        <nsi:Code>1</nsi:Code>
                        <nsi:GUID>d0932210-8261-46b9-8e62-e45a6dc700a9</nsi:GUID>
                        </ind:Type>
                      <ind:Series>2343</ind:Series>
                     <ind:Number>2234234</ind:Number>
                     <ind:IssueDate>2016-12-12</ind:IssueDate>
                  </ind:ID>
               </hous:Ind>
            </hous:PayerInfo>
           <base:TransportGUID>0b17b141-2d1f-46df-bede-61ef7be2a951</base:TransportGUID>
         <acc:AccountNumber>00557788</acc:AccountNumber>
         </hous:Account>
      </hous:importAccountRequest>
   </soapenv:Body>
</soapenv:Envelope>
Фрагмент ответа:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<ns4:ErrorMessage>
                <ns4:ErrorCode>EXP001000</ns4:ErrorCode>
                <ns4:Description>Внутренняя ошибка</ns4:Description>
                <ns4:StackTrace>javax.ejb.EJBException: java.lang.ClassNotFoundException: org.hibernate.exception.SQLGrammarException from [Module "deployment.ext-bus-home-management-service.war:main" from Service Module Loader]
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:238)
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
    at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
    at com.sun.proxy.$Proxy1968.importAccounts(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1494.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(RmiClientInterceptorUtils.java:71)
    at org.springframework.ejb.access.SimpleRemoteSlsbInvokerInterceptor.doInvoke(SimpleRemoteSlsbInvokerInterceptor.java:98)
    at org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor.invokeInContext(AbstractRemoteSlsbInvokerInterceptor.java:140)
    at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:189)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy2048.importAccounts(Unknown Source)
    at ru.lanit.hcs.integration.housemanagement.spring.processor.ImportAccountProcessor.process(ImportAccountProcessor.java:61)
    at ru.lanit.hcs.integration.housemanagement.spring.processor.ImportAccountProcessor.process(ImportAccountProcessor.java:33)
    at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.process(OperationProcessorInvokerMDP.java:309)
    at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.internalOnMessage(OperationProcessorInvokerMDP.java:174)
    at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.onMessage(OperationProcessorInvokerMDP.java:86)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:699)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:637)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:605)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:246)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1144)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1136)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1033)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.hibernate.exception.SQLGrammarException from [Module "deployment.ext-bus-home-management-service.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.jboss.marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:131)
    at org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:112)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:948)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1255)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:276)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:224)
    at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1745)
    at org.jboss.marshalling.river.RiverObjectInputStream.defaultReadObject(RiverObjectInputStream.java:81)
    at java.lang.Throwable.readObject(Throwable.java:914)
    at sun.reflect.GeneratedMethodAccessor1282.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.marshalling.reflect.SerializableClass.callReadObject(SerializableClass.java:307)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1637)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:276)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:224)
    at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1745)
    at org.jboss.marshalling.river.RiverObjectInputStream.defaultReadObject(RiverObjectInputStream.java:81)
    at java.lang.Throwable.readObject(Throwable.java:914)
    at sun.reflect.GeneratedMethodAccessor1282.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.marshalling.reflect.SerializableClass.callReadObject(SerializableClass.java:307)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1637)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:276)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:224)
    at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1745)
    at org.jboss.marshalling.river.RiverObjectInputStream.defaultReadObject(RiverObjectInputStream.java:81)
    at java.lang.Throwable.readObject(Throwable.java:914)
    at sun.reflect.GeneratedMethodAccessor1282.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.marshalling.reflect.SerializableClass.callReadObject(SerializableClass.java:307)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1637)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1606)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1285)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:276)
    at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
    at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
    at org.jboss.ejb.client.remoting.InvocationExceptionResponseHandler$MethodInvocationExceptionResultProducer.getResult(InvocationExceptionResponseHandler.java:82)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:276)
    at ru.lanit.hcs.integration.security.client.LogInterceptor.handleInvocationResult(LogInterceptor.java:74)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
    at ru.lanit.hcs.integration.security.client.EjbSecurityClientInterceptor.handleInvocationResult(EjbSecurityClientInterceptor.java:57)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
    at org.jboss.ejb.client.EJBObjectInterceptor.handleInvocationResult(EJBObjectInterceptor.java:64)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
    at org.jboss.ejb.client.EJBHomeInterceptor.handleInvocationResult(EJBHomeInterceptor.java:88)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
    at org.jboss.ejb.client.TransactionInterceptor.handleInvocationResult(TransactionInterceptor.java:46)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:290)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocationResult(ReceiverInterceptor.java:129)
    at org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:265)
    at org.jboss.ejb.client.EJBClientInvocationContext.awaitResponse(EJBClientInvocationContext.java:453)
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:204)
    ... 27 more
</ns4:StackTrace>
            </ns4:ErrorMessage>
        </ns13:ImportResult>
    </soap:Body>
</soap:Envelope>
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
12.12.2016, 07:52
svl42, Есть предположение: попробовать поменять формат даты с <ind:IssueDate>2016-12-12</ind:IssueDate>
на <ind:IssueDate>12.12.2016</ind:IssueDate>
Также обратите внимание на
<base:Date>?</base:Date>
<base:MessageGUID>?</base:MessageGUID>
0
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
12.12.2016, 10:26
Сменить формат не помогает, ошибка: '12.12.2016' is not a valid value for 'date'.
Цитата Сообщение от Umatkot_Primtep Посмотреть сообщение
XML
1
2
<base:Date>?</base:Date>
<base:MessageGUID>?</base:MessageGUID>
Данные в эти теги вставляются перед отправкой запроса, извините не указал их в запросе
0
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 9
12.12.2016, 10:34
svl42, может нужно заменить строку <hous:importAccountRequest Id="signed-data-container" base:version="10.0.1.1">
на
<hous:importAccountRequest base:version="10.0.1.1">
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
12.12.2016, 11:00
Мухря, Нет, не в этом дело. Id="signed-data-container" указывается для модуля подписи и проверки на ГИС, что запрос подписан ЭЦП. Тут уберёшь - начнёт материться, что запрос не подписан. Кстати, если действительно убрать, то ошибка сохранится? Или появится новая?

Добавлено через 12 минут
svl42, На самом деле - внутренняя ошибка на то она и внутри, что там косяки свои. Я тут же выполняю запросы на СИТ 1 и у меня периодически вываливается три разных варианта ответа
Сейчас хотел написать в ТП, но и портал завален - всюду хаос.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<ns4:ErrorMessage>
                <ns4:ErrorCode>EXP001000</ns4:ErrorCode>
                <ns4:Description>Внутренняя ошибка</ns4:Description>
                <ns4:StackTrace>java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:lanit-crypto-verifier-app, moduleName:crypto-verifier-bean, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1cc6b784
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:747)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116)
    at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
    at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
    at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
    at com.sun.proxy.$Proxy1391.verifyEnveloped(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1140.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(RmiClientInterceptorUtils.java:71)
    at org.springframework.ejb.access.SimpleRemoteSlsbInvokerInterceptor.doInvoke(SimpleRemoteSlsbInvokerInterceptor.java:98)
    at org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor.invokeInContext(AbstractRemoteSlsbInvokerInterceptor.java:140)
    at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.invoke(AbstractSlsbInvokerInterceptor.java:189)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy1394.verifyEnveloped(Unknown Source)
    at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignatureItself(ValidationServiceImpl.java:137)
    at ru.lanit.hcs.integration.common.spring.service.impl.ValidationServiceImpl.validateSignature(ValidationServiceImpl.java:110)
    at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.process(OperationProcessorInvokerMDP.java:282)
    at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.internalOnMessage(OperationProcessorInvokerMDP.java:174)
    at ru.lanit.hcs.integration.common.spring.mdp.OperationProcessorInvokerMDP.onMessage(OperationProcessorInvokerMDP.java:86)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:699)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:637)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:605)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:246)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1144)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1136)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1033)
    at java.lang.Thread.run(Thread.java:745)
видно весь стек, что они там себе поставили.

Добавлено через 6 минут
svl42, Также, попробуйте выполнить запрос с минимальным набором данных - в Вашем случае без паспорта и снилсов там всяких = всё по минимуму.
0
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 7
12.12.2016, 11:52
Спасибо, проблема отчасти решена. Действительно был глюк СИТ, отправил несколько раз тот же самый запрос, и раза с третьего он все таки сработал)) лицевой счет добавился. Только вот почему то ФИО не добавилось.
0
32 / 30 / 0
Регистрация: 21.10.2016
Сообщений: 187
12.12.2016, 17:50
Подскажите, можно ли при генерации классов утилитой SvcUtil.exe из wsdl/xsd настроить, чтоб оно ... поменьше безтипных/безымянных item-ов создавало при sequence или choice ?

Например, есть такая схема, где у элементов вполне есть имена собственные Error, UniqueNumber, UpdateDate (это из CommonResultType) :
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    <xs:choice>
                <xs:sequence>
                    <xs:annotation>
                        <xs:documentation>Операция выполнена успешно</xs:documentation>
                    </xs:annotation>
                    <xs:element name="UniqueNumber" type="xs:string" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation>Уникальный реестровый номер</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                    <xs:element name="UpdateDate" type="xs:dateTime">
                        <xs:annotation>
                            <xs:documentation>Дата модификации</xs:documentation>
                        </xs:annotation>
                    </xs:element>
                </xs:sequence>
                <xs:element name="Error" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Описание ошибки</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:complexContent>
                            <xs:extension base="tns:ErrorMessageType"/>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
            </xs:choice>


из этого получилось безымянное нечто, которое трудно идентифицировать:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Error", typeof(CommonResultTypeError), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("UniqueNumber", typeof(string), Order=2)]
        [System.Xml.Serialization.XmlElementAttribute("UpdateDate", typeof(System.DateTime), Order=2)]
        public object[] Items
        {
            get
            {
                return this.itemsField;
            }
            set
            {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
Сейчас у них типы разные, а если в будущем добавится еще один строковой параметр или дата, как их различать?
0
 Аватар для iglxp
3 / 3 / 0
Регистрация: 04.12.2014
Сообщений: 25
12.12.2016, 17:51
в какой среде пишите ?
мы используем Xamarin

и еще к знающим, можно ли использовать Visual Studio в организации !?
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
13.12.2016, 02:14
Судя по стеку мы можем анализировать ответы и присылать в ГИС свои варианты исправления)))
Цитата Сообщение от iglxp Посмотреть сообщение
и еще к знающим, можно ли использовать Visual Studio в организации
К использующим - мы купили подписку на MSDN и работаем.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
13.12.2016, 02:38
muf, SVCUtil нельзя так настроить. Вы хотите, чтобы каждый возможный вариант уже представлялся в классе? Возможно, некоторые поля являются как бы переключателями и в зависимости от ситуации в каждом из этих итемов должна храниться ожидаемая сервисом переменная. Но храниться она должна с одним лишь условием - что эта переменная должна быть единственной из выбора. А так, ничто не мешает переписать WSDLImporter и ServiceContractGenerator и реализовать свой родной выхлоп - как заблагорассудится - вот пример:
Это Library - она предназначена для управлением генерации кода из WSDL - всё что она пока делает из LoadSVC - это убирает приватные методы и делает некоторое форматирование в выходном файле. Имея такой инструмент, на этапе CodeCompileUnit - можно внести любые изменения в генерируемые классы.
Вложения
Тип файла: 7z Library.7z (3.5 Кб, 27 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2016, 02:38

.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2)
Начало темы здесь: https://www.cyberforum.ru/web-services-wcf/thread1615223.html umatkot, Да, к этому и пришел....а на дворе 1 июля ...

Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel
Решил создать отдельную тему, так как в теме Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (4) - C# WCF уже можно заблудиться....

Осуществить подпись SOAP, по стандартам ГИС ГМП, принятого через TCP сокет
Здравствуйте. Требуется осуществить подпись SOAP, по стандартам ГИС ГМП, принятого через тсп сокет. Со второй частью все понятно, а вот с...

Ошибки интеграции ГИС ЖКХ
Я много тут читал форум по интеграции ГИС. На старте, впрочем, как и в последствии возникает много траблов с интеграцией. Есть идея вынести...

Soap, Java, Гис ЖКХ
Добрый день! Имеет ли кто опыт работы с soap в Java? Поставлена задача наладить работу с ГИС ЖКХ, До этого не работал с SOAP, почитал все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
420
Закрытая тема Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru