CSOAPServer
Методы класса
Метод | Описание | С версии |
---|---|---|
GetRequestData | Метод возвращает принятый запрос SOAP пакета. | 6.5.2 |
GetResponseData | Метод возвращает ушедший в ответ SOAP пакет. GetResponseData можно вызвать только после ProcessRequest. | 6.5.2 |
boolean AddServerResponser( CSOAPServerResponser &respobject ) |
Метод регистрирует обработчик SOAP запроса. Обработчики, наследующие, интерфейс CSOAPServerResponser, должны быть зарегистрированы заранее, до вызова метода ProcessRequest. | 6.5.2 |
ShowRawResponse | Метод формирует и отсылает SOAP Response пакет вместе с данными в виде CXMLCreator. | 6.5.2 |
ShowResponse | Метод формирует и отсылает SOAP Response пакет, после преобразования данных. | 6.5.2 |
ShowSOAPFault | Метод формирует и отсылает SOAP Response пакет с ошибкой. | 6.5.2 |
ProcessRequest | Метод запускает обработку SOAP запроса. К этому моменту обработчики CSOAPServerResponser должны быть зарегистрированы методом AddServerResponser. Возвращает true если обработка успешна, иначе false. | 6.5.2 |
stripHTTPHeader | Метод отрезает HTTP заголовок в том месте, где начинается XML-документ. | 6.5.2 |
Пример использования
В этом примере в $arParams["SOAPSERVER_RESPONSER"] содержаться объекты обработчики SOAP.
Обычно SOAP-обработчик создаётся в компоненте, сохраняется в массив в $arParams["SOAPSERVER_RESPONSER"] и далее, когда включается компонент webservice.server, выполняется следующий код.
// В компоненте обработчика // Создаем экземпляр обработчика $research =& new CMSSOAPResearch(); // Конфигурируем обработчик $research->provider_id = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'; $research->service_id = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'; $research->add_tittle = ""; $research->query_path = "http://{$_SERVER[HTTP_HOST]}/ws/wscauth.php"; $research->registration_path = "http://{$_SERVER[HTTP_HOST]}/ws/wscauth.php"; // Сохраняем для передачи в webservice.server $arParams["SOAPSERVER_RESPONSER"] = array( &$research ); ......... // В компоненте webservice.server $server = new CSOAPServer(); for ($i = 0; $i<count($arParams["SOAPSERVER_RESPONSER"]); $i++) { $server->AddServerResponser($arParams["SOAPSERVER_RESPONSER"][$i]); } $result = $server->ProcessRequest();
© «Битрикс», 2001-2024, «1С-Битрикс», 2024