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