Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрос в SOAP сервис посредством 1С

Запрос в SOAP сервис посредством 1С
Я
   ail88
 
21.09.17 - 17:40
Добрый день! Нужна Ваша помощь.

Пытаюсь сформировать в 1С запрос в SOAP сервис. Есть пример запроса в формате xml. Для получения ответа от сервиса требуется отправить два блока Message и MessageData. Блок Message формирую без проблем (1С не ругается), но вот с блоком MessageData, есть проблемы, а именно с AppData, выдает ошибку "Тип свойства не соответствует типу значения".

Сам запрос в формате xml:

 <soapenv:Body>
      <upgo:GetOrganization>
         <rev:Message>
            <rev:Sender>
               <rev:Code>XXXX01001</rev:Code>
               <rev:Name>Тестовая организация</rev:Name>
            </rev:Sender>
            <rev:Recipient>
               <rev:Code>UPGO00000</rev:Code>
               <rev:Name>УПГО</rev:Name>
            </rev:Recipient>
            <rev:TypeCode>GSRV</rev:TypeCode>
            <rev:Status>REQUEST</rev:Status>
            <rev:Date>2017-07-14T10:37:57Z</rev:Date>
            <rev:ExchangeType>2</rev:ExchangeType>
            <rev:TestMsg>TRUE</rev:TestMsg>
         </rev:Message>
         <rev:MessageData>
            <rev:AppData>
                <upgo:OrganizationId>2</upgo:OrganizationId>
            </rev:AppData>
         </rev:MessageData>
      </upgo:GetOrganization>
   </soapenv:Body>


Мой код в 1С:

//------Блок Message------

//------Sender------
ТипWSПараметра11 = Прокси.ФабрикаXDTO.Пакеты.Получить("http://smev.gosuslugi.ru/rev120315").Получить("orgExternalType";);
WSПараметр11       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра11);
WSПараметр11.code="XXXX01001";
WSПараметр11.name = "Тестовая организация";
Sender = WSПараметр11;
//------Recipient------
ТипWSПараметра12 = Прокси.ФабрикаXDTO.Пакеты.Получить("http://smev.gosuslugi.ru/rev120315").Получить("orgExternalType";);
WSПараметр12       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра12);
WSПараметр12.code="UPGO00000";
WSПараметр12.name = "УПГО";
Recipient =WSПараметр12;
//------Message------
ТипWSПараметра1 = Прокси.ФабрикаXDTO.Пакеты.Получить("http://smev.gosuslugi.ru/rev120315").Получить("MessageType";);
WSПараметр1       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра1);
WSПараметр1.Sender=Sender;
WSПараметр1.Recipient=Recipient;
WSПараметр1.TypeCode ="GSRV";
WSПараметр1.Status ="REQUEST";
WSПараметр1.Date="2017-07-14T10:37:57Z";
WSПараметр1.ExchangeType="2";
WSПараметр1.TestMsg ="FALSE";

//------Конец Блок Message------

//------Блок MessageData------
//------OrganizationId------
ТипWSПараметра21 = Прокси.ФабрикаXDTO.Пакеты.Получить("http://ns.hr.gov.spb.ru/smev/upgo").Получить("GetOrganization";);
WSПараметр21 = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра21);
WSПараметр21.OrganizationId="2";
OrganizationId = WSПараметр21;

ТипWSПараметра2 = Прокси.ФабрикаXDTO.Пакеты.Получить("http://smev.gosuslugi.ru/rev120315").Получить("MessageDataType";);
WSПараметр2       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра2);
WSПараметр2.AppData=OrganizationId;


//------Конец Блок MessageData------




//----------------------------------------
    
ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://smev.gosuslugi.ru/rev120315").Получить("GetOrganizationType";);
    WSПараметр       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
    WSПараметр.Message        =WSПараметр1;  
    WSПараметр.MessageData    =WSПараметр2;
    ОРГАНИЗАЦИЯ= Прокси.GetOrganization(WSПараметр);
 
 
   DDwe
 
1 - 21.09.17 - 17:42
(0) Продолжайте наблюдения.
   Вафель
 
2 - 21.09.17 - 17:47
веб сервисы это называется
   ail88
 
3 - 21.09.17 - 19:07
Могу скинуть конфигурацию.
   Cyberhawk
 
4 - 21.09.17 - 20:58
Простыня текста, информации ни о чем
   DrShad
 
5 - 21.09.17 - 21:01
Так дата не может быть строкой
   ail88
 
6 - 21.09.17 - 23:24
Суть такова, что запрос необходимо передать с определенными данными, вернее полями (что в них написано неважно). Но проблема заключается в том, что не могу понять как передать параметр AppData, параметр имеет тип объекта "AppDataType", которой в веб сервере не имеет описания.
   ail88
 
7 - 21.09.17 - 23:32
Делал запрос в SOAPUI. На скриншоте показано, что он его успешно обрабатывает, мне необходимо этот запрос сделать в 1С.

http://paste.pics/b101dc8657e2cf1b13ce22b598ee2e1f
   Маленький Мук
 
8 - 21.09.17 - 23:33
число попробуй
   ail88
 
9 - 21.09.17 - 23:36
Если вставляю пустоту, или число. То выдает ошибку:

{Обработка.UPGO.Форма.Форма.Форма(45)}: Ошибка при установке значения атрибута контекста (AppData)
WSПараметр2.AppData=5;
по причине:
Несоответствие типов XDTO:
Тип '{http://smev.gosuslugi.ru/rev120315}AppDataType' не найден
Значение не может быть установлено свойству, имеющему объектный тип
   ail88
 
10 - 22.09.17 - 19:38
up
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует