Обмен с внешним web сервисом

1. Fant1q71 14 18.01.22 11:03 Сейчас в теме
Есть внешний сервис МЦ Слежение, с методом SEND_DATA, в котором один параметр (xml, см. скрин). Текст сообщения (ТекстСообщения) в формате xml формируется мной до вызова метода SEND_DATA. Вопрос: Как мне отправить этот параметр? Получаю ошибку при заполнении параметра:

Несоответствие типов XDTO:
Тип '{http://www.w3.org/2001/XMLSchema}string' не соответствует типу '{http://xmlns.oracle.com/orawsv/RWC_INF/PAC_1C_DATA_API}SEND_DATAInput_IN_XML_XMLTYPE_IN'
Тип свойства не соответствует типу значения
{ВнешняяОбработка.ИнтеграцияСМЦСлежение.МодульОбъекта(220)}: ПараметрXDTO.IN_XML_XMLTYPE_IN = ОбъектXDTO;
{ВнешняяОбработка.ИнтеграцияСМЦСлежение.МодульОбъекта(188)}: ОтправитьСообщение(ТекстСообщения);
{ВнешняяОбработка.ИнтеграцияСМЦСлежение.МодульОбъекта(116)}: ВыгрузитьКонтрагентов(ТекстОшибки, ТекстСообщенияПользователю);
{ВнешняяОбработка.ИнтеграцияСМЦСлежение.Форма.Форма.Форма(46)}: ОбработкаОбъект.ВыполнитьОбменСМЦСлежение(, ТекстСообщенияПользователю);
{ВнешняяОбработка.ИнтеграцияСМЦСлежение.Форма.Форма.Форма(30)}: ВыполнитьОбменНаСервере(ТекстСообщенияПользователю);

по причине:
Несоответствие типов XDTO:
Тип '{http://www.w3.org/2001/XMLSchema}string' не соответствует типу '{http://xmlns.oracle.com/orawsv/RWC_INF/PAC_1C_DATA_API}SEND_DATAInput_IN_XML_XMLTYPE_IN'
Тип свойства не соответствует типу значения



ТочкаПодключения = Прокси.ТочкаПодключения;
Операция = ТочкаПодключения.Интерфейс.Операции.Получить("SEND_DATA");
Параметр = Операция.Параметры[0];

ПараметрXDTO = Прокси.ФабрикаXDTO.Создать(Параметр.Тип);

ПараметрВторогоУровня = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://xmlns.oracle.com/orawsv/RWC_INF/PAC_1C_DATA_API", "SEND_DATAInput_IN_XML_XMLTYPE_IN"));
СериализаторСвой = Новый СериализаторXDTO(Прокси.ФабрикаXDTO);

ОбъектXDTO = СериализаторСвой.ЗаписатьXDTO(ТекстСообщения);

ПараметрXDTO.IN_XML_XMLTYPE_IN = ОбъектXDTO;
Ответ = Прокси.SEND_DATA(ПараметрXDTO);

Может кто делал интеграцию с МЦ слежение, как реализовали отправку?

https://pastenow.ru/f17a248f424197291ec9438d880a8fb3 (Скрин)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Caspersky 18.01.22 11:49 Сейчас в теме
(1)
SEND_DATAInput_IN_XML_XMLTYPE_IN

см. базовый тип типа объекта SEND_DATAInput_IN_XML_XMLTYPE_IN, что там?
3. Fant1q71 14 18.01.22 11:53 Сейчас в теме
(2)
см. базовый тип типа объекта SEND_DATAInput_IN_XML_XMLTYPE_IN, что там?


Ничего не заполнено
4. Fant1q71 14 18.01.22 11:59 Сейчас в теме
5. koln 18.01.22 14:56 Сейчас в теме
(4)Как я понял, должно быть ПараметрXDTO.IN_XML_XMLTYPE_IN = ПараметрВторогоУровня, т.к. ПараметрВторогоУровня имеет тип SEND_DATAInput_IN_XML_XMLTYPE_IN. А вот ему (ПараметрВторогоУровня) нужно присваивать значение ТекстСообщения
Fant1q71; +1 Ответить
6. Fant1q71 14 18.01.22 16:05 Сейчас в теме
(5) Да, так и нужно, но вопрос в том, как задать значение этому параметру второго уровня. Через равно текстсообщения нельзя - тип не тот. При создании объекта XDTO с данным типом, если вторым параметром передавать текст сообщения, то тоже ошибка - не тот тип.
7. koln 19.01.22 07:17 Сейчас в теме
(6)Попробуйте так:
ТипПараметраВторогоУровня = Прокси.ФабрикаXDTO.Тип("http://xmlns.oracle.com/orawsv/RWC_INF/PAC_1C_DATA_API", "SEND_DATAInput_IN_XML_XMLTYPE_IN");
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(ТекстСообщения);
	ПараметрВторогоУровня = Прокси.ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ТипПараметраВторогоУровня);	
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот