$client = new maxCacheXmlClient(array('api_version' => 1, 'dealer_id' => $dealerId, 'password' => $password, 'cache_dir' => $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . '/cache/maxposter/')); // Запрос к сервису / кешу $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');