示例#1
0
//Must have PEAR SOAP on the path
require_once 'SOAP/Parser.php';
//Disable browser side cache
header('Cache-Control: no-cache');
//Start handling the request.
$logger =& LoggerManager::getLogger('CalemSoapService');
$postData = CalemHttpHelper::getPostData();
$calemSoapRequest = new CalemSoapRequest();
if ($logger->isInfoEnabled()) {
    $logger->info("acceptedEncoding=" . $_SERVER['HTTP_ACCEPT_ENCODING'] . ", Received a post request=" . $postData);
}
if (!$postData) {
    if ($logger->isDebugEnabled()) {
        $logger->debug("Invalid post data.");
    }
    $calemSoapRequest->sendFault(CALEM_SF_NO_POSTDATA);
}
//Processing postData
$parser =& new SOAP_Parser($postData);
$request_headers = $parser->getHeaders();
if ($request_headers) {
    if (!is_a($request_headers, 'SOAP_Value')) {
        $calemSoapRequest->sendFault(CALEM_SF_INVALID_HEADER);
    }
    $request_headers = $request_headers->value;
}
$params = $parser->getResponse();
if ($params) {
    if (!is_a($params, 'SOAP_Value')) {
        $calemSoapRequest->sendFault(CALEM_SF_INVLIAD_PARAMS);
    }