//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); }