Имя: Пароль:
1C
1С v8
Запрос в SOAP сервис посредством 1С
,
0 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Параметр);
1 DDwe
 
21.09.17
17:42
(0) Продолжайте наблюдения.
2 Вафель
 
21.09.17
17:47
веб сервисы это называется
3 ail88
 
21.09.17
19:07
Могу скинуть конфигурацию.
4 Cyberhawk
 
21.09.17
20:58
Простыня текста, информации ни о чем
5 DrShad
 
21.09.17
21:01
Так дата не может быть строкой
6 ail88
 
21.09.17
23:24
Суть такова, что запрос необходимо передать с определенными данными, вернее полями (что в них написано неважно). Но проблема заключается в том, что не могу понять как передать параметр AppData, параметр имеет тип объекта "AppDataType", которой в веб сервере не имеет описания.
7 ail88
 
21.09.17
23:32
Делал запрос в SOAPUI. На скриншоте показано, что он его успешно обрабатывает, мне необходимо этот запрос сделать в 1С.

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

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