Не найден пакет XDTO с целевым пространством имен в 1С — Решение
- Исключение:
Не найден пакет XDTO с целевым пространством имен (URI). - Сбой при вызове веб-сервисов (SOAP/WS-ссылки) или EnterpriseData обмена.
- Отсутствие пакета XDTO в дереве метаданных конфигурации или опечатка в URI пространства имен.
- Несоответствие версий формата обмена (например, EnterpriseData 1.8 vs 1.12).
1. Проверка регистрации пакета XDTO в метаданных
Откройте Конфигуратор -> ветка Общие -> Пакеты XDTO. Проверьте, что в свойствах пакета поле Пространство имен (Target Namespace) в точности до каждого символа совпадает с URI, указанным в коде или заголовке входящего XML.
// Пример правильного обращения к типу пакета по URI
URIПространства = "http://v8.1c.ru/edi/edo_types";
ИмяТипа = "ФайлОбмена";
ТипОбъекта = ФабрикаXDTO.Тип(URIПространства, ИмяТипа);
Если ТипОбъекта = Неопределено Тогда
ВызватьИсключение "Пакет XDTO с URI " + URIПространства + " не зарегистрирован в системе!";
КонецЕсли;2. Динамическое добавление пакета XDTO из схемы XSD
Если пакет не встроен в конфигурацию, загрузите его динамически перед вызовом операций десериализации:
// Создание локальной фабрики XDTO со схемой
ЧтениеСхемы = Новый ЧтениеXML;
ЧтениеСхемы.ОткрытьФайл("C:\Schemas\CustomPackage.xsd");
СхемаXML = Новый СхемаXML;
СхемаXML.РасположениеСервера = "C:\Schemas\";
НаборСхем = Новый НаборСхемXML;
НаборСхем.Добавить(СхемаXML);
КастомнаяФабрикаXDTO = Новый ФабрикаXDTO(НаборСхем);3. Проверка WSDL-описания веб-сервиса
При интеграции через WS-ссылки обновите WSDL-описание в Конфигураторе (Правый клик по WS-ссылке -> Получить WSDL), чтобы импортировать обновленные пространства имен удаленного сервиса.
Частые вопросы (FAQ)
Чувствителен ли Target Namespace к регистру букв?
Да, URI пространства имен чувствителен к регистру (Case-Sensitive). 'http://site.ru/URI' и 'http://site.ru/uri' считаются двумя абсолютно разными пространствами имен.
Почему после обновления конфигурации перестал работать обмен EnterpriseData?
При обновлении версии БСП версия пространства имен пакета EnterpriseData могла измениться (например, с /1.10 на /1.11). Необходимо обновить правила конвертации и сопоставление форматов в настройках синхронизации.
Можно ли в одном пакете XDTO объединять разные пространства имен?
Нет. Каждый пакет XDTO в 1С строго привязан к одному Target Namespace. Для импорта других пространств используются директивы xs:import.
Где хранятся стандартные системные пакеты XDTO 1С?
Стандартные пакеты (http://v8.1c.ru/8.1/data/core и др.) вшиты в платформу 1С и всегда доступны в глобальной фабрике ФабрикаXDTO по умолчанию.