Веб-сервисы

Рейтинг: 22.8342  
На голосовании
Предложил Пользователь 89296 07.04.2012 19:56:24

Веб-сервисы

Однажды понадобилось использовать в 1С веб-сервис Битрикс (для загрузки заполненных форм в СРМ на 1С). Столкнулся с проблемой - 1С не читает битриксовские веб-сервисы. Написал в ТП, обещали поправить.
Ждать было некогда, поэтому вместо использования в 1С стандартного функционала веб-сервисов извратился и написал через HTTP-соединение, благо битрикс позволяет работать с веб-сервисами через GET-запросы.
Получил ответ от ТП, что в ближайшее время исправят вместе с обновлением модуля веб-сервисы. Проверил - работало. Но переписывать код не стал.
Неделю назад столкнулся с аналогичной задачей. Думал - подключу веб-сервис наконец, красиво сделаю, ан нет - опять WSDL из 1С не грузится, выдает ошибку:(
В общем, моя идея такая, для интеграции с 1С нужно поддерживать в рабочем состоянии связку 1С и 1С-Битрикс на веб-сервисах (иначе как их еще интегрировать по-человечески - я не знаю).

Рейтинг: 0  
Пользователь 114896 27.04.2012 17:03:03
Данную проблему можно обойти используя стандартную для php 5 библиотеку SOAP и wsdl генерированный 1С.  В своих кейсах по интеграции мы поступаем следующим образом:
1. Создаем SOAP службу в 1С, и получаем ее WSDL
2. Подключаем wsdl в php $server = new SoapServer('./server.wsdl');
3. Сопоставляем функцию php и регистрируем сервис:


   $server->addF unction("myServiceFunction");
   $data = file_get_contents('php://input');
   $server->handle($data);
Рейтинг: 0  
Пользователь 89296 27.04.2012 17:38:58
Александр,
По моему глубокому убеждению - подключаться из битрикса к 1С - это дыра в безопасности: взломают сайт - получат доступ и к 1С.

Лучше делать наоборот, подключаться из 1С к Битриксу. Вот именно это и не работает. Обхожу через разбор XML.