Ошибка при вызове конструктора wsопределения 1c
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
В командной строке с правами Администратора выполните команду:
2. Переустановка платформы с внесением исправлений
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Для этого откройте Главное меню > Все функции > Регистры сведений.
После этого пользователи, у которых возникала ошибка при заполнении реквизитов, должны выйти из программы и войти снова.
Все операции необходимо выполнять от лица пользователя с правами Администратора сервиса.
Если данная статья вам помогла и вы хотите нас как-то отблагодарить, то лучшим вариантом благодарности будет пара строк с ссылкой на нее на вашем любимом форуме или поделиться ссылкой на данную статью с коллегами и друзьями на своих страницах в соц. сетях ))).
ошибка при работе с сервисом, ошибка работе сервисом 1с, ошибка работы сервисом см журнал регистрации, работе сервиса произошла ошибка, ошибка работе с сервисом 1с 8.3, ошибка при заполнении инн, При вызове веб-сервиса произошла ошибка Неизвестная ошибка Ошибка преобразования данных XDTO
Ошибка при вызове конструктора (WSОпределения) Модуль 198 и 504
Ошибка при вызове конструктора (WSОпределения) Модуль 198 и 504
Вот так вот выглядит более полный текст ошибки:
Ошибка работы с Интернет: Удаленный узел не прошел проверку
по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504)
Как решить проблему
В итоге у вас будет архив с сертификатом cacert.pem, распакуйте его. Далее, откройте вашего клиента, где вы получаете ошибку при вызове конструктора WSОпределения. И перейдите по пути:
Если вы теряетесь в своих версиях, то попробуйте произвести поиск по cacert.pem в папке C:Program Files (x86) и посмотрите, где у вас нужно подменить, этот файл. Меняете его на свежий и радуетесь жизни.
- Второй метод, заключается в использовании обработки в 1С. Скачайте файл обработка.epf
ОБЯЗАТЕЛЬНО запустите его от имени администратора, иначе можете получить ошибку:
Подтверждаю. Дома настроил и скачал для винды клиента.
Не удалось подключиться к сервису версий.
Если используется сервер версии 2.1 и выше, то необходимо проверить настройки
подключения и попробуйте подключиться снова.
Показать полностью.
Если используется сервер версии ниже 2.1, то необходимо установить приложение
1С:Документооборот 2.0 из магазина приложений устройства.
Скрыть дополнительную информацию (для администратора)
При выполнении обмена произошла ошибка.
Скрыть дополнительную информацию (для администратора)
Не удалось подключиться к сервису версий.
Если используется сервер версии 2.1 и выше, то необходимо проверить настройки
подключения и попробуйте подключиться снова.
Если используется сервер версии ниже 2.1, то необходимо установить приложение
1С:Документооборот 2.0 из магазина приложений устройства.
Дополнительные сведения:
: Не удалось подключиться к сервису версий.
Если используется сервер версии 2.1 и выше, то необходимо проверить настройки
подключения и попробуйте подключиться снова.
Если используется сервер версии ниже 2.1, то необходимо установить приложение
1С:Документооборот 2.0 из магазина приложений устройства.
Не удалось подключиться к сервису версий.
Если используется сервер версии 2.1 и выше, то необходимо проверить настройки
подключения и попробуйте подключиться снова.
Если используется сервер версии ниже 2.1, то необходимо установить приложение
1С:Документооборот 2.0 из магазина приложений устройства.
Скрыть дополнительную информацию (для администратора)
При выполнении обмена произошла ошибка.
Скрыть дополнительную информацию (для администратора)
Не удалось подключиться к сервису версий.
Если используется сервер версии 2.1 и выше, то необходимо проверить настройки
подключения и попробуйте подключиться снова.
Если используется сервер версии ниже 2.1, то необходимо установить приложение
1С:Документооборот 2.0 из магазина приложений устройства.
Дополнительные сведения:
: Не удалось подключиться к сервису версий.
Если используется сервер версии 2.1 и выше, то необходимо проверить настройки
подключения и попробуйте подключиться снова.
Если используется сервер версии ниже 2.1, то необходимо установить приложение
1С:Документооборот 2.0 из магазина приложений устройства.
Цель блога описать интересные и полезные примеры программирования в системе 1С:Предприятие 8.
суббота, 6 октября 2012 г.
1С:Предприятие 8. Веб-сервисы. Классы Платформы 1С для вызова операций веб-сервиса
WSОпределения - класс, содержащий в себе описание веб-сервиса, по сути это WSDL. Данный класс можно создать на основе WSDL. WSОпределения реализуют механизм динамического вызова веб-сервиса; XDTO - механизм XDTO позволяет создать модель представления данных (модель типов и значений), которая, с одной стороны, обеспечивает возможность просто и естественно манипулировать данными в среде 1С:Предприятия 8, а с другой стороны, данная модель хорошо приспособлена для прозрачного преобразования данных в другие форматы, главным образом XML.Для наглядности попробую предоставить диаграмму классов приведенных выше классов. Прошу прощения если был неточен, просто ставил целью предоставление общей картины взаимосвязей классов.
Что же означают слова динамическая ссылка и статическая? Статистическая ссылка хранится в дереве метаданных (WS-ссылка) и задается на этапе конфигурирования, при ее создании подгружается определение веб-сервиса(описание WSDL) и сохраняется в конфигурации. Хранение определения веб-сервиса позволяет экономить время на его получении при обращении к веб-сервису. Минусом такого использования является изменение используемого веб-сервиса. При изменении веб-сервиса, в вашей конфигурации будет старое описание и вызов веб-сервиса просто перестанет работать. А для загрузки нового описания вам придется изменять конфигурацию.
Динамические ссылки напротив, подгружают актуальное описание при каждом создании класса WSОпределения.
Приведу пример обращения к веб-сервису по статической ссылке.
Для начало создадим WS-ссылку. Для этого откройте свою конфигурацию и найдите в окне конфигурации Общие-WSСсылка.
И нажмите Добавить. Платформа попросит ввести путь к WSDL.
После ввода логина и пароля пройдет некоторое время на закачку WSDL и WS-ссылка будет создана.
Теперь можно обратиться к веб-сервису. Создадим процедуру с директивой &НаСервере:
&НаСервере
Процедура ОбращениеКВебСервисуПоСтатическойСсылкеСервер()
Прокси = WSСсылки.WSСсылка.СоздатьWSПрокси("http://xxx.xxx.xxx.xxx", "WebServices", "WebServicesSoap");
Прокси.Пользователь="admin";
Прокси.Пароль="admin";
РезультатВебОперации = Прокси.ListOfDevices();
КонецПроцедуры
В данном примере мы используем метод СоздатьWSПрокси типа WSСсылкаМенеджер.WSСсылка, который создает объект WSПрокси. В WSПрокси мы указываем логин и пароль для доступа к веб-сервису и уже после этого вызываем функцию веб-сервиса. В нашем случае это функция ListOfDevices() .
Теперь попробуем обратиться к той же самой операции веб-сервиса через динамическую ссылку. Для этого создадим процедуру с директивой &НаСервере:
WSОпределение = Новый WSОпределения("http:// xxx.xxx.xxx.xxx /InfoBase/ws/WebServices?wsdl", "admin" , "admin" );
WSПрокси = Новый WSПрокси(WSОпределение, "http://xxx.xxx.xxx.xxx" , "WebServices", "WebServicesSoap" );
WSПрокси.Пользователь = "admin" ;
WSПрокси.Пароль = "admin" ;
РезультатВебОперации = WSПрокси .ListOfDevices();
КонецПроцедуры
В окончание статьи приведу ссылку на обработку которая позволит вам вызвать операции веб- сервиса. В обработке перед этим надо ввести путь к файлу WSDL, логин и пароль - нажать кнопку "Получить WSDL" и после этого можно просмотреть какие есть операции в веб-сервисе и вызвать их. Для вызова операции необходимо выбрать сервис, точку подключения и операцию. Перейти на вкладку "Параметры операции", ввести необходимые параметры операции и нажать кнопку "Выполнить операцию". На вкладке "Результат операции" будет ответ от операции в XML виде.
Читайте также: