Имя: Пароль:
1C
 
получение данных с веб сервиса
,
0 val245
 
30.10.15
16:47
Предоставили веб сервис со сторонней программы. Необходимо получить данные с веб сервиса в 1с. В веб-сервисе процедура getReportsByRange с параметрами даты начала и даты окончания.
Написал следующий код:

Определение = Новый WSОпределения("http://192.168.100.182:8080/GPPReportingService/IncomingReport?wsdl";, "finance", "f1nance");
    Прокси = Новый WSПрокси(Определение,"http://service.reporting.asan.gov.az/","IncomingReport";, "IncomingReportPort");
    Прокси.Пользователь = "finance";
    Прокси.Пароль = "f1nance";
    
    ТипПараметра  = Прокси.ФабрикаXDTO.Тип("http://service.reporting.asan.gov.az/";, "getReportsByRange");
    WSПараметр   = Прокси.ФабрикаXDTO.Создать(ТипПараметра);
    
    WSПараметр.arg0 = ДатаНач;
    WSПараметр.arg1 = ДатаКон;
    
    Результат = Прокси.getReportsByRange(WSПараметр);

Однако, при его выполнении выходит следующая ошибка.

{Форма.Форма.Форма(15)}: Ошибка при вызове метода контекста (getReportsByRange)
    Результат = Прокси.getReportsByRange(WSПараметр);
по причине:
Ошибка вызова операции сервиса:  {http://service.reporting.asan.gov.az/}:IncomingReport:getReportsByRange()
по причине:
Ошибка SOAP сервера:  java.lang.NullPointerException

Уже весь инет перекопал, что-то не могу ничего найти. Может кто может хотя бы посоветовать, где почитать о подключении к веб сервисам в 1С.
1 Apokalipsec
 
30.10.15
17:01
Почитать в ЖКК.
Отладка, смотришь, что он ожидает в getReportsByRange().
Возможно там ещё какие-то параметры, которые ты не передаешь.
А возможно он ждет дату в другом формате.
2 rphosts
 
30.10.15
17:08
(0) вангую, даты в формате Юникс у сервиса, а у вас?
3 val245
 
30.10.15
17:10
приложение на java. Надо менять формат даты?
4 anatoly
 
30.10.15
17:11
я бы еще предложил почитать мануал "сторонней программы"
5 val245
 
30.10.15
17:11
мануала нет. она самописная
6 val245
 
30.10.15
17:12
просто ей другие сотрудники занимаются
7 rphosts
 
30.10.15
17:12
(5) криптотермоанализ рулит
8 anatoly
 
30.10.15
17:12
(6) пообщаться с другими сотрудниками не предлагать?
9 rphosts
 
30.10.15
17:13
(3) я-б попробовал с этого начать

Функция Дата2ФорматУних(Дата1С)
Возврат Дата1С - Дата(1970,1,1);
КонецФункции
10 Serginio1
 
30.10.15
17:15
А Прокси.getReportsByRange(дата1,дата2);
11 Serginio1
 
30.10.15
17:16
Ты бы WSDL показал
12 val245
 
30.10.15
17:18
то что касается этого метода

<message name="getReportsByRange">
<part name="parameters" element="tns:getReportsByRange"/>
</message>
<message name="getReportsByRangeResponse">
<part name="parameters" element="tns:getReportsByRangeResponse"/>
</message>
13 val245
 
30.10.15
17:20
<portType name="IncomingReport">
<operation name="getReportsByRange">
<input wsam:Action="http://service.reporting.asan.gov.az/IncomingReport/getReportsByRangeRequest"; message="tns:getReportsByRange"/>
<output wsam:Action="http://service.reporting.asan.gov.az/IncomingReport/getReportsByRangeResponse"; message="tns:getReportsByRangeResponse"/>
</operation>
14 val245
 
30.10.15
17:21
Когда делаю так:

Прокси.getReportsByRange(дата1,дата2);

пишет, что слишком много параметров
15 Serginio1
 
30.10.15
17:35
Это может быть и ошибкой на стороне сервера. Обратись в поддержку.
16 rphosts
 
30.10.15
17:57
Даты в wsпараметрах определили, может там на входе параметр язык? Например 'ru'
17 val245
 
02.11.15
08:35
в каких параметрах язык?
18 val245
 
02.11.15
09:44
up
19 val245
 
02.11.15
14:10
up
20 val245
 
02.11.15
14:54
вверх
21 Serginio1
 
02.11.15
16:57
Берешь в руки фиддлер и отсылаешь в службу поддержки запрос и ответ. Или для начала показываешь здесь. Никто тебе без данных помочь не сможет
22 val245
 
04.11.15
15:03
а что именно показать, что б можно было поставить диагноз?
23 val245
 
04.11.15
15:17
запустил фидлер, он показывает запросы и ответ. Но как разобрать, где там ошибка?
24 Serginio1
 
05.11.15
11:46
(23) Посылаешь их в службу поддержки.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.