Вызов WS на 1С 8.3 падает, а в SoapUI работает. Как обойти?

26.08.24

Интеграция - WEB-интеграция

Иногда при интеграции с веб-сервисом 1С может вернуть ошибку проверки данных XDTO: Структура объекта не соответствует типу. При этом это не ваша XDTO, и Вы не хотите или не можете поправить его. Что же делать? Решение есть!

Делаю заметку для себя и для всех, кому может быть полезно. Если Ваша 1С не может собрать XDTO и падает с ошибкой, а SoapUI отрабатывает без ошибок.

Ошибка для примера:

Ошибка проверки данных XDTO:
Структура объекта не соответствует типу:
Проверка свойства 'id':
                форма: Элемент
                имя: id
                тип: {http://www.w3.org/2001/XMLSchema}integer
Отсутствует обязательное свойство

При этом это не ваша XDTO, и Вы не хотите или не можете поправить его.

Конкретно в моем случае есть схема, у которой некий атрибут может быть не заполненным, тип его не примитивный, и один из подчиненных ему атрибутов примитивного типа обязательно должен быть заполнен. И когда сторонняя система нам возвращает такую схему и включает в нее первый атрибут и при этом не заполняет подчиненный ему атрибут, то 1С встает в позу и падает с ошибкой.

Интересный момент: формально 1С права, но если выполнить вызов такого метода при помощи SoapUI, он отработает без ошибок.    

И тут Вы зададитесь вопросом: что же делать?

Я Вам отвечу: Решение есть! Это HTTP-запрос.

Ну что же, погнали:


лСоединение = Новый HTTPСоединение(СерверХТТП);
лЗапрос = Новый HTTPЗапрос(АдресРесурсаХТТП);
лЗапрос.Заголовки.Вставить("Content-Type", ЗаголовокХТТП);
лсТелоКакСтрока = "<soap:Envelope xmlns:soap=""http://www.w3.org/2003/05/soap-envelope"">
|   <soap:Header/>
|   <soap:Body>
|      <ws:getContr>
|         <request>
|            <employeeSmpId>%1</employeeSmpId>
|            <contractualDocumentId>%2</contractualDocumentId>
|         </request>
|      </ws:getContr>
|   </soap:Body>
|</soap:Envelope>";
лсТелоКакСтрока = СтрШаблон(лсТелоКакСтрока, Параметр1, Параметр2);
лЗапрос.УстановитьТелоИзСтроки(лсТелоКакСтрока);
лРезультат = лСоединение.ОтправитьДляОбработки(лЗапрос);
лсТелоКакСтрокаОтвет = лРезультат.ПолучитьТелоКакСтроку();
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(лсТелоКакСтрокаОтвет);
лОтвет = ФабрикаXDTO.ПрочитатьXML(Чтение);
  • http://***Имя Сервера***/***Имя WS***?WSDL - так у вас выглядит ссылка на wsdl
  • СерверХТТП = ***Имя Сервера***
  • АдресРесурсаХТТП = /***Имя WS***
  • ЗаголовокХТТП - это мы берем SoapUI с закладки Raw (сверху под кнопкой пуска есть переключатель закладок  XML/Raw)

  • лсТелоКакСтрока - сюда мы помещаем весь запрос XML, как он выведен в SoapUI на закладке XML

Вызов WS на 1с падает а в SoapUI работает. Ошибка проверки данных XDTO: Структура объекта не соответствует типу:

См. также

WEB-интеграция Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Функциональное решение для торговли на всех популярных маркетплейсах. Работает со схемами FBO и FBS. Простое в использовании и установке, не вносит изменения в код программы. Существенно упрощает работу с товарным ассортиментом, обработку заказов с площадок, работу с поставками, а также ведение аналитики по продажам и остаткам.

72000 руб.

19.07.2024    1073    51    0    

3

Управление взаимоотношениями с клиентами (CRM) WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Подсистема интеграции Amo CRM с 1С: технические требования, порядок работы, возможности, доработки и обновления. Бесплатный период техподдержки - 1 месяц.

60000 руб.

07.05.2019    32868    62    41    

23

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    13907    39    8    

15

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    17533    47    50    

28

Обмен с ГосИС Мастера заполнения WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Оперативный учет Управляемые формы 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

3900 руб.

08.11.2017    62414    402    295    

71
Оставьте свое сообщение