public function serve() { if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { if (!isset($HTTP_RAW_POST_DATA)) { $HTTP_RAW_POST_DATA = file_get_contents('php://input'); } $this->_server->service($HTTP_RAW_POST_DATA); } else { $disco = new SOAP_DISCO_Server($this->_server, 'Servidor SOAP de Framework', "FWSoapService"); header("Content-type: text/xml"); //var_dump($this->_server); if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'], 'wsdl') == 0) { // show only the WSDL/XML output if ?wsdl is set in the address bar echo $disco->getWSDL(); } else { echo $disco->getDISCO(); } } exit; }
$server->_auto_translation = true; /* This is a simple example of implementing a custom call handler. If you do this, the soap server will ignore objects or functions added to it, and will call your handler for **ALL** soap calls the server receives, wether the call is defined in your WSDL or not. The handler receives two arguments, the method name being called, and the arguments sent for that call. */ function myCallHandler($methodname, $args) { global $soapclass; return @call_user_func_array(array($soapclass, $methodname), $args); } $server->setCallHandler('myCallHandler', false); require_once 'example_server.php'; $soapclass = new SOAP_Example_Server(); $server->addObjectMap($soapclass, 'urn:SOAP_Example_Server'); if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { $server->service($HTTP_RAW_POST_DATA); } else { require_once 'SOAP/Disco.php'; $disco = new SOAP_DISCO_Server($server, 'ServerExample'); header("Content-type: text/xml"); if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'], 'wsdl') == 0) { echo $disco->getWSDL(); } else { echo $disco->getDISCO(); } exit; }
$this->instance->text($tag['name']); $this->instance->endElement(); } } $result = $this->endXml(); } else $result = ''; return $result; } } $server = new SOAP_Server(); $webservice = new TagsServices(); $server->addObjectMap($webservice, 'http://schemas.xmlsoap.org/soap/envelope/'); if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { $server->service($HTTP_RAW_POST_DATA); } else { $disco = new SOAP_DISCO_Server($server, 'FengWebServices_tags'); header("Content-type: text/xml"); if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'], 'wsdl') == 0) { echo $disco->getWSDL(); // show only the WSDL/XML output if ?wsdl is set in the address bar } else { echo $disco->getDISCO(); } } ?>
return new SOAP_Fault($errorMsg, 'Client'); } else { $monthname = date('F Y', $Month->getTimeStamp()); $days = array(); $Month->build(); while ($Day =& $Month->fetch()) { $day = array('isFirst' => (int) $Day->isFirst(), 'isLast' => (int) $Day->isLast(), 'isEmpty' => (int) $Day->isEmpty(), 'day' => (int) $Day->thisDay()); $days[] = $day; } return array('monthname' => $monthname, 'days' => $days); } } } $server = new SOAP_Server(); $server->_auto_translation = true; $calendar = new Calendar_Server(); $server->addObjectMap($calendar, 'urn:PEAR_SOAP_Calendar'); if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { $server->service($GLOBALS['HTTP_RAW_POST_DATA']); } else { require_once 'SOAP' . DIRECTORY_SEPARATOR . 'Disco.php'; $disco = new SOAP_DISCO_Server($server, "PEAR_SOAP_Calendar"); if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'], 'wsdl') == 0) { header("Content-type: text/xml"); echo $disco->getWSDL(); } else { echo 'This is a PEAR::SOAP Calendar Server. For client try <a href="8.php">here</a><br />'; echo 'For WSDL try <a href="?wsdl">here</a>'; } exit; }
/** * This runs the web service * * @static * @access public */ function run() { if (defined('JSON_WEBSERVICE')) { $this->runJSON(); return; } ob_start(); $server = new SOAP_Server(); $server->addObjectMap($this, 'http://schemas.xmlsoap.org/soap/envelope/'); $request = 'Not Set'; if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'POST') { $request = file_get_contents("php://input"); $server->service($request); } else { // Create the DISCO server $disco = new SOAP_DISCO_Server($server, $this->namespace); header("Content-type: text/xml"); if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'], 'wsdl') == 0) { echo $disco->getWSDL(); } else { echo $disco->getDISCO(); } } $capture = ob_get_flush(); $this->debug($request, 'request', 5); $this->debug($capture, 'response', 5); global $_KT_starttime; $time = number_format(KTUtil::getBenchmarkTime() - $_KT_starttime, 2); $this->debug($time, 'time from start', 4); }