Добрый день! Имеется прсотенький soap-сервер, такого вида:
<?
function MicrophoneOn($microphoneId) {...}
function MicrophoneOff($microphoneId) {...}
function DelegateLogin($strLoginString) {...}
ini_set("soap.wsdl_cache_enabled", "0"); // отключаем кэширование WSDL
$server = new SoapServer("hm_bitrix_server.wsdl");
$server->addFunction("MicrophoneOn");
$server->addFunction("MicrophoneOff");
$server->addFunction("DelegateLogin");
$server->handle();
?>
Все настроено и работает. Мне нужно в одной функции подключить главный модуль и модуль инфоблоков и сделать некоторые операции с данными инфоблока. Проблема в том, что не получается подключить нужные классы внутри функции. Пишу примерно следующее:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule('iblock');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
Но даже с одной первой строкой, приходит ошибка:
require_once(): Failed opening required '/var/www/bitrix/modules/iblock/classes//iblockproperty.php' (include_path='.:/usr/share/php:/usr/share/pear') in C:\my_projects\oc3com\www\hm_bitrix_client.php:40
То есть какая то глобальная переменая хранящая часть пути: 'general' или 'mysql' не видна внутри функции, и используется не верный путь. Пробовал найти ее, но файл /bitrix/modules/main/include.php уж слишком неудобночитаем.
Если вынести строчки с подключением пролога за пределы функции, то вместо обычных XML данных начинает приходить html код(форма регистрации) и есстесвено клиент такой ответ обрабатывает аварийно.
Есть ли какой-то способ подключить главный модуль и поработать с инфоблоками внутри функции, кроме как вручную инклудить кучу скриптов? Или подключить их за пределами функции, но чтобы не выводился даже лишний пробел? Заранее благдораен за ответы.
<?
function MicrophoneOn($microphoneId) {...}
function MicrophoneOff($microphoneId) {...}
function DelegateLogin($strLoginString) {...}
ini_set("soap.wsdl_cache_enabled", "0"); // отключаем кэширование WSDL
$server = new SoapServer("hm_bitrix_server.wsdl");
$server->addFunction("MicrophoneOn");
$server->addFunction("MicrophoneOff");
$server->addFunction("DelegateLogin");
$server->handle();
?>
Все настроено и работает. Мне нужно в одной функции подключить главный модуль и модуль инфоблоков и сделать некоторые операции с данными инфоблока. Проблема в том, что не получается подключить нужные классы внутри функции. Пишу примерно следующее:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule('iblock');
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
Но даже с одной первой строкой, приходит ошибка:
require_once(): Failed opening required '/var/www/bitrix/modules/iblock/classes//iblockproperty.php' (include_path='.:/usr/share/php:/usr/share/pear') in C:\my_projects\oc3com\www\hm_bitrix_client.php:40
То есть какая то глобальная переменая хранящая часть пути: 'general' или 'mysql' не видна внутри функции, и используется не верный путь. Пробовал найти ее, но файл /bitrix/modules/main/include.php уж слишком неудобночитаем.
Если вынести строчки с подключением пролога за пределы функции, то вместо обычных XML данных начинает приходить html код(форма регистрации) и есстесвено клиент такой ответ обрабатывает аварийно.
Есть ли какой-то способ подключить главный модуль и поработать с инфоблоками внутри функции, кроме как вручную инклудить кучу скриптов? Или подключить их за пределами функции, но чтобы не выводился даже лишний пробел? Заранее благдораен за ответы.