Пример #1
0
$client->setRequestThemeName($arParams['REQUEST_THEME']);
// TODO: настройки и параметры
$client->setGetParameters(array('page' => $arParams['PAGE'], 'page_size' => COption::GetOptionString($moduleId, 'MAX_PAGE_SIZE')));
// TODO: ловить входящие данные
$searchParams = array();
if ($arParams['ORDER_BY']) {
    $searchParams['order_by'] = $arParams['ORDER_BY'];
}
if ($arParams['ORDER_DIRECTION']) {
    $searchParams['order_direction'] = $arParams['ORDER_DIRECTION'];
}
$searchParams = array_merge($searchParams, $filterParams);
$client->setRequestParams(array('search' => $searchParams));
$domXml = $client->getXml()->saveXML();
// при ошибке запроса
if ($client->getResponseThemeName() == 'error') {
    CHTTP::SetStatus("404 Not Found");
    // TODO: получать message из ответа сервера
    ShowError(GetMessage('MAX_NOT_FOUND'));
    return;
}
if (mb_strtolower(SITE_CHARSET) != 'utf-8') {
    $data = iconv('utf-8', SITE_CHARSET, $domXml);
} else {
    $data = $domXml;
}
$xml = new CDataXML();
// Лучше бы через
// $xml->Load('/path/to/file');
$xml->LoadString($data);
// получаем данные