<?php ini_set("soap.wsdl_cache_enabled", 0); ini_set("soap.wsdl_cache_dir", "/tmp"); ini_set("soap.wsdl_cache_ttl", 86400); if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setBindingStyle(array('style' => 'rpc')); $autodiscover->setOperationBodyStyle(array('use' => 'literal')); $autodiscover->setClass('ProviderWebServiceSyncUnits'); $data = file_get_contents('php://input'); $autodiscover->handle($data); } else { $server = new Zend_Soap_Server(__URLSERVERAPP__ . '/webservices/unidades/server.php?wsdl', array('cache_wsdl' => false)); $server->setClass('ProviderWebServiceSyncUnits'); $server->setPersistence(SOAP_PERSISTENCE_REQUEST); $data = file_get_contents('php://input'); $server->handle($data); }
public function soapAction() { $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8', true); $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout()->disableLayout(); $version = $this->getRequest()->getParam('version'); $wsdl = $this->getRequest()->getParam('wsdl'); $service = 'Auth_Service_Ldap'; if ($wsdl) { $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $autodiscover->setUri(ZendT_Url::getUri()); $autodiscover->setClass($service); $autodiscover->handle(); } else { if (!$version) { $version = '1_0'; } $fileWsdl = APPLICATION_PATH . '/modules/auth/services/Ldap/version_' . $version . '.wsdl'; if (file_exists($fileWsdl)) { $wsdl = str_replace("\\", "/", $fileWsdl); } else { $wsdl = ZendT_Url::getUri() . '?wsdl=1'; } $server = new Zend_Soap_Server(); $server->setWsdl($wsdl); $server->setClass($service); $server->handle(); } }
public function soapAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout()->disableLayout(); $params = $this->getRequest()->getParams(); if (!isset($params['version'])) { $params['version'] = '1.0'; } $service = 'Ged_Service_FileSystem'; $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8', true); if (isset($params['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $autodiscover->setUri(ZendT_Url::getUri()); $autodiscover->setClass($service); $autodiscover->handle(); } else { $version = str_replace('.', '_', $params['version']); $names = explode('_', $service); $fileWsdl = APPLICATION_PATH . '/modules/' . strtolower($names[0]) . '/' . strtolower($names[1]) . 's/' . $names[2] . '/wsdl/' . $names[2] . '_v' . $version . '.wsdl'; if (file_exists($fileWsdl)) { $wsdl = str_replace("\\", "/", $fileWsdl); } $server = new Zend_Soap_Server(); $server->setWsdl($wsdl); $server->setClass($service); $server->handle(); } }
public function soap() { $vs_wsdl = $this->request->config->get("site_host") . __CA_URL_ROOT__ . "/service.php/usercontent/UserContent/soapWSDL"; $vo_soapserver = new Zend_Soap_Server($vs_wsdl, array("soap_version" => SOAP_1_2)); $vo_soapserver->setClass('UserContentService', $this->request); $this->view->setVar("soap_server", $vo_soapserver); $this->render("usercontent_soap.php"); }
/** * Actual "do request" method. * * @internal * @param Zend_Soap_Client_Common $client * @param string $request * @param string $location * @param string $action * @param int $version * @param int $one_way * @return mixed */ public function _doRequest(Zend_Soap_Client_Common $client, $request, $location, $action, $version, $one_way = null) { // Perform request as is ob_start(); $this->_server->handle($request); $response = ob_get_clean(); return $response; }
function __doRequest($request, $location, $action, $version) { ob_start(); $this->_server->handle($request); $response = ob_get_contents(); ob_end_clean(); return $response; }
/** * function SOAP Handle. points to Np_Soap_Handler * the class for the used for the soap method called . * * @return bool $result The Result of the SOAP Handle Function * */ private function handleSOAP() { $soap = new Zend_Soap_Server(Application_Model_General::getWsdl(), array('soap_version' => SOAP_1_1)); $soap->setClass('Np_Soap_Handler'); $soap->handle(); $response = $soap->getLastResponse(); return $response; // - change to result from handle }
public function soap() { if ($this->opb_disable) { return ""; } $vs_wsdl = $this->request->config->get("site_host") . __CA_URL_ROOT__ . "/service.php/accesscontrol/AccessControl/soapWSDL"; $vo_soapserver = new Zend_Soap_Server($vs_wsdl, array("soap_version" => SOAP_1_2)); $vo_soapserver->setClass('AccessControlService', $this->request); $this->view->setVar("soap_server", $vo_soapserver); $this->render("accesscontrol/accesscontrol_soap.php"); }
public function indexAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout()->disableLayout(); // initialize server and set URI $server = new Zend_Soap_Server(null, array('uri' => 'http://painel.local/webservice/index')); // set SOAP service class $server->setClass('App_Webservice_Imagem'); // handle request $server->handle(); }
public function processServer() { if (!$_SERVER['REMOTE_ADDR'] == $this->helpers->config('client_ip')) { header('HTTP/1.0 403 Forbidden'); return _arNone(); } $soap = new Zend_Soap_Server($this->url('soapserver|soap|WSDL')); $soap->setUri($this->url('soapserver|soap|Server')); $soap->setClass('soapserverservice'); $soap->setWsdlCache(false); $soap->handle(); return _arNone(); }
/** * Actual "do request" method. * * @internal * @param Zend_Soap_Client_Common $client * @param string $request * @param string $location * @param string $action * @param int $version * @param int $one_way * @return mixed */ public function _doRequest(Zend_Soap_Client_Common $client, $request, $location, $action, $version, $one_way = null) { // Perform request as is ob_start(); $this->_server->handle($request); $response = ob_get_clean(); if ($response === null || $response === '') { $serverResponse = $this->server->getResponse(); if ($serverResponse !== null) { $response = $serverResponse; } } return $response; }
/** * Handle requests regarding users * * @return void */ public function __call($function, $params) { $action = strtolower(str_replace('Action', '', $function)); $class = 'ShortUrl_Api_' . ucfirst($action); if (!@(include_once str_replace('_', '/', $class) . '.php')) { throw new ShortUrl_Api_ClassNotFoundException($class); } if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass($class)->handle(); } else { $soap = new Zend_Soap_Server($this->_getWsdl($action)); $soap->setClass($class)->handle(); } }
public function indexAction() { if ($this->getRequest()->query->has("wsdl")) { $soap = new \Zend_Soap_AutoDiscover("Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex"); $soap->setUri($this->getRequest()->getUriForPath("/search"))->setClass('\\Server\\CodeSearchBundle\\Libraries\\SoapFacade'); } else { $soap = new \Zend_Soap_Server($this->getRequest()->getUri() . "?wsdl"); $soap->setObject($this->get('SoapFacade')); } $response = new Response(); $response->headers->set('Content-Type', 'text/xml; charset=UTF-8'); ob_start(); $soap->handle(); $response->setContent(ob_get_clean()); return $response; }
/** * Método executado após qualquer action. * Responsável por instanciar a classe de soap correta e configurala * disponibilizando assim o serviço para ser consumido. */ public function postDispatch() { $request = $this->getRequest(); $params = $request->getParams(); $router = Zend_Controller_Front::getInstance()->getRouter(); if ($this->_hasParam('wsdl')) { $server = new Zend_Soap_AutoDiscover(); } else { $server = new Zend_Soap_Server(); $url = "{$request->getScheme()}://{$request->getHttpHost()}{$router->assemble($params)}"; $server->setUri($url); $server->setEncoding('ISO-8859-1'); } $server->setClass($this->serviceClass); $server->handle(); }
public function connectorAction() { $this->getHelper('viewRenderer')->setNoRender(); $this->_helper->layout->disableLayout(); $conf = Zend_Registry::get('config'); if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence'); $autodiscover->setClass('Logic_RemoteSiteConn'); $this->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($autodiscover->handle()); } else { // pointing to the current file here $soap = new Zend_Soap_Server($conf['crossover']['webservice']['wsdl']); $soap->setClass('Logic_RemoteSiteConn'); $soap->setSoapVersion(SOAP_1_2); $soap->handle(); } }
public function soapServerAction() { // disable layout and view $this->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); // handle wsdl request if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('MyProject_Service_Soap_Example'); $autodiscover->handle(); // handle server request } else { $serverUrl = str_replace('server', 'wsdl', MAIN_URL . $this->getRequest()->getRequestUri()); $soap = new Zend_Soap_Server($serverUrl); $soap->setClass('MyProject_Service_Soap_Example'); $soap->handle(); } }
public function endpointAction() { // disable wsdl cache if (PIMCORE_DEVMODE) { ini_set("soap.wsdl_cache_enabled", "0"); } // create classmappings $classMap = Webservice_Tool::createClassMappings(); // p_r($classMap); die(); // create wsdl // @TODO create a cache here $strategy = new Zend_Soap_Wsdl_Strategy_Composite(array("object[]" => "Zend_Soap_Wsdl_Strategy_AnyType"), "Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex"); $autodiscover = new Zend_Soap_AutoDiscover($strategy); $autodiscover->setClass('Webservice_Service'); $wsdl = $autodiscover->toXml(); //TODO: do we really want to normalize class names since we had to introduce request and response objects anyway? $wsdl = str_replace("Webservice_Data_", "", $wsdl); // normalize classnames $wsdlFile = PIMCORE_SYSTEM_TEMP_DIRECTORY . "/wsdl.xml"; file_put_contents($wsdlFile, $wsdl); chmod($wsdlFile, 0766); // let's go if (isset($_GET["wsdl"])) { header("Content-Type: text/xml; charset=utf8"); echo $wsdl; } else { Pimcore::setAdminMode(); Document::setHideUnpublished(false); Object_Abstract::setHideUnpublished(false); Object_Abstract::setGetInheritedValues(false); try { $server = new Zend_Soap_Server($wsdlFile, array("cache_wsdl" => false, "soap_version" => SOAP_1_2, "classmap" => $classMap)); $server->registerFaultException("Exception"); $server->setClass("Webservice_Service"); $server->handle(); } catch (Exception $e) { Logger::log("Soap request failed"); Logger::log($e); throw $e; } } exit; }
/** * Generate a server fault * * Note that the arguments are the reverse of those used by SoapFault. * * Moodle note: the difference with the Zend server is that we throw a SoapFault exception * with the debuginfo integrated in the exception message when DEBUG >= NORMAL * * If an exception is passed as the first argument, its message and code * will be used to create the fault object if it has been registered via * {@Link registerFaultException()}. * * @link http://www.w3.org/TR/soap12-part1/#faultcodes * @param string|Exception $fault * @param string $code SOAP Fault Codes * @return SoapFault */ public function fault($fault = null, $code = "Receiver") { //intercept any exceptions with debug info and transform it in Moodle exception if ($fault instanceof Exception) { //add the debuginfo to the exception message if debuginfo must be returned if (debugging() and isset($fault->debuginfo)) { $fault = new SoapFault('Receiver', $fault->getMessage() . ' | DEBUG INFO: ' . $fault->debuginfo); } } return parent::fault($fault, $code); }
public function soapAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout()->disableLayout(); $params = $this->getRequest()->getParams(); $service = 'ZendT_Mail_Service'; $this->getResponse()->setHeader('Content-Type', 'text/xml;charset=utf-8', true); if (isset($params['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $autodiscover->setUri(ZendT_Url::getUri()); $autodiscover->setClass($service); $autodiscover->handle(); } else { $server = new Zend_Soap_Server(); #$wsdl = ZendT_Url::getUri() . "?wsdl"; $wsdl = APPLICATION_PATH . '/controllers/Mail_v1.wsdl'; $server->setWsdl($wsdl); $server->setClass($service); $server->handle(); } }
/** * Run the Zend server * * @param array $data The server data * @return boolean Response */ public static function RunServer($data) { $server = $data['soapserver']; if ($server !== self::$Server || !class_exists('Zend_Soap_Server')) { PhpWsdl::Debug('Zend not found or server object changed'); return true; // We can't handle this server run! } if (!PhpWsdl::CallHook('ZendRunHook', $data)) { return false; } self::$Server->handle(); return false; }
/** * Generate a server fault * * Note that the arguments are reverse to those of SoapFault. * * note: the difference with the Zend server is that we throw a SoapFault exception * with the debuginfo integrated to the exception message when DEBUG >= NORMAL * * If an exception is passed as the first argument, its message and code * will be used to create the fault object if it has been registered via * {@Link registerFaultException()}. * * @link http://www.w3.org/TR/soap12-part1/#faultcodes * @param string|Exception $fault * @param string $code SOAP Fault Codes * @return SoapFault */ public function fault($fault = null, $code = "Receiver") { //run the zend code that clean/create a soapfault $soapfault = parent::fault($fault, $code); //intercept any exceptions and add the errorcode and debuginfo (optional) $actor = null; $details = null; if ($fault instanceof Exception) { //add the debuginfo to the exception message if debuginfo must be returned if (ws_debugging() and isset($fault->debuginfo)) { $details = $fault->debuginfo; } } return new SoapFault($soapfault->faultcode, $soapfault->getMessage() . ' | ERRORCODE: ' . (isset($fault->errorcode) ? $fault->errorcode : $code), $actor, $details); }
/** * Handle a request * overload the default ZF method * * @param string $request Optional request * @return void|string */ public function handle($request = null) { if (null === $request) { $request = file_get_contents('php://input'); } if (strlen($request) == 0) { $soap = $this->_getSoap(); $soap->fault(401, 'Message contains no XML'); } $dom = new \DOMDocument(); if (!$dom->loadXML($request)) { $soap = $this->_getSoap(); $soap->fault(401, 'Message contains invalid XML'); } else { //strip out api_key stuff $xml = simplexml_load_string($request); $url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $children = (array) $xml->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children($url); $methods = array_keys($children); $method = $methods[0]; $soap = $this->_getSoap(); $apikey = (string) $xml->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children($url)->{$method}->children()->apikey; if ($this->_hasAccess($apikey, $method)) { //strip api info unset($xml->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children($url)->{$method}->children()->apikey); $request = $xml->asXml(); //remove whitespace & empty lines $request = trim($request); $request = preg_replace("/(^[\r\n]*|[\r\n]+)[\\s\t]*[\r\n]+/", "\n", $request); return parent::handle($request); } else { $soap = $this->_getSoap(); $soap->fault(403, 'Access forbidden'); } } }
public function handle($request = null) { if (null === $request) { $request = file_get_contents('php://input'); } $db = Zend_Db_Table::getDefaultAdapter(); $cm = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('soaplogger'); $write = new Zend_Log_Writer_Db($db, 'log.soapserver', array('priority' => 'priority', 'message' => 'message', 'created_at' => 'timestamp', 'ip' => 'ip', 'target_name' => 'target_name', 'id_external_customer' => 'id_external_customer', 'request' => 'request', 'response' => 'response')); $cm->setWriter($write); $logger = $cm->getLogObject(); try { $response = parent::handle($request); echo $this->_response; $logger->setEventItem('request', json_encode($request)); $logger->setEventItem('response', json_encode($response)); $logger->log('Wykonano.', Zend_Log::INFO); return $response; } catch (Exception $e) { $logger->setEventItem('request', json_encode($request)); $logger->setEventItem('response', json_encode($response)); $logger->log('Wyjątek!!!', Zend_Log::ERR); throw $e; } }
/** * Accept the request of the clients * * @param string $classname */ public function soap($classname) { if (empty($classname)) { return false; } list($app, $module, $class) = explode("_", $classname); // initialize server and set URI $optionsoap = array('location' => "http://" . $_SERVER['HTTP_HOST'] . "/" . strtolower($class) . ".wsld", 'uri' => 'urn:' . $classname); $server = new Zend_Soap_Server(null, $optionsoap); // set SOAP service class $server->setClass($classname); // Bind already initialized object to Soap Server $server->setObject(new $classname()); $server->setReturnResponse(false); // register exceptions for generating SOAP faults $server->registerFaultException(array('Shineisp_Api_Exceptions')); // handle request $server->handle(); }
/** * @var string */ public $bar; /** * @var string */ public $foo; } /** * @category Zend * @package Zend_Soap * @subpackage UnitTests * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Soap_Wsdl_ComplexTypeA { /** * @var Zend_Soap_Wsdl_ComplexTypeB[] */ public $baz = array(); } if (isset($_GET['wsdl'])) { $server = new Zend_Soap_AutoDiscover(new Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex()); } else { $uri = "http://" . $_SERVER['HTTP_HOST'] . "/" . $_SERVER['PHP_SELF'] . "?wsdl"; $server = new Zend_Soap_Server($uri); } $server->setClass('Zend_Soap_Service_Server1'); $server->handle();
function __doRequest($request, $location, $action, $version, $one_way = 0) { ob_start(); $this->server->handle($request); $response = ob_get_clean(); return $response; }
/** * Endpoint voor de faxservice soap services */ ini_set('xdebug.remote_enable', 'off'); set_include_path(realpath(dirname(__FILE__) . '/../') . '/library/'); require_once 'Zend/Loader/Autoloader.php'; $loader = Zend_Loader_Autoloader::getInstance(); $loader->setFallbackAutoloader(true); // todo live gegevens $db = Zend_Db::factory('mysqli', array('host' => 'dev2.admin.netexpo.nl', 'username' => 'faxservicesoap', 'password' => 'fkXcn2di', 'dbname' => 'netexpo', 'charset' => 'utf8')); Zend_Registry::set('db', $db); // testen zonder soap if (isset($_GET['nosoap']) == true) { $s = new ServicedeskFax(); //var_dump($s->getAvailableFaxnumbers(31,10)); } // testen met een client if (isset($_GET['client']) == true) { $s = new SoapClient('http://' . $_SERVER['HTTP_HOST'] . '/' . $_SERVER['PHP_SELF'] . '?wsdl'); //var_dump($s->getCountries()); } if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('ServicedeskFax'); $autodiscover->handle(); } else { $soap = new Zend_Soap_Server('http://' . $_SERVER['HTTP_HOST'] . '/' . $_SERVER['PHP_SELF'] . '?wsdl'); $soap->setClass('ServicedeskFax'); $soap->handle(); }
public function testSetInputHeaders() { if (headers_sent()) { $this->markTestSkipped('Cannot run testSetInputHeaders() when headers have already been sent; enable output buffering to run this test'); return; } $server = new Zend_Soap_Server(dirname(__FILE__) . '/_files/wsdl_example.wsdl'); $server->setClass('Zend_Soap_Client_TestClass'); $client = new Zend_Soap_Client_Local($server, dirname(__FILE__) . '/_files/wsdl_example.wsdl'); // Add request header $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader1', 'SOAP header content 1')); // Add permanent request header $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader2', 'SOAP header content 2'), true); // Perform request $client->testFunc2('World'); $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader2>SOAP header content 2</ns1:MyHeader2>' . '<ns1:MyHeader1>SOAP header content 1</ns1:MyHeader1>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n"; $this->assertEquals($client->getLastRequest(), $expectedRequest); // Add request header $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader3', 'SOAP header content 3')); // Perform request $client->testFunc2('World'); $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader2>SOAP header content 2</ns1:MyHeader2>' . '<ns1:MyHeader3>SOAP header content 3</ns1:MyHeader3>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n"; $this->assertEquals($client->getLastRequest(), $expectedRequest); $client->resetSoapInputHeaders(); // Add request header $client->addSoapInputHeader(new SoapHeader('http://www.example.com/namespace', 'MyHeader4', 'SOAP header content 4')); // Perform request $client->testFunc2('World'); $expectedRequest = '<?xml version="1.0" encoding="UTF-8"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' . 'xmlns:ns1="http://www.example.com/namespace" ' . 'xmlns:enc="http://www.w3.org/2003/05/soap-encoding">' . '<env:Header>' . '<ns1:MyHeader4>SOAP header content 4</ns1:MyHeader4>' . '</env:Header>' . '<env:Body>' . '<env:testFunc2 env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">' . '<who xsi:type="xsd:string">World</who>' . '</env:testFunc2>' . '</env:Body>' . '</env:Envelope>' . "\n"; $this->assertEquals($client->getLastRequest(), $expectedRequest); }
require_once '../library/Shift8.php'; /** * While trying to develop the Soap extension for Shift8, I needed a way to debug * the events occuring to the remote asterisk, thus the Debug Listener and the * Syslog debug listener */ require_once '../library/Debug/Listener/Syslog.php'; if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $autodiscover->setOperationBodyStyle(array('use' => 'literal', 'namespace' => 'http://' . $_SERVER['HTTP_HOST'])); /* * Does not work with PHP Soap Client. Might be required for .NET clients * $autodiscover->setBindingStyle( array( 'style' => 'document', 'transport' => 'http://schemas.xmlsoap.org/soap/http' ) ); */ $autodiscover->setClass('Shift8'); $autodiscover->handle(); } else { session_start(); $wsdl = sprintf('http://%s%s?wsdl', $_SERVER['HTTP_HOST'], $_SERVER['SCRIPT_NAME']); $soap = new Zend_Soap_Server($wsdl); $soap->setClass('Shift8', $config['asterisk'], $config['manager'], $config['secret'], false, new Shift8_Debug_Listener_Syslog()); $soap->setPersistence(SOAP_PERSISTENCE_SESSION); $soap->registerFaultException('Shift8_Exception'); $response = $soap->handle(); }
private function handleSOAP() { $soap = new Zend_Soap_Server($this->_WSDL_URI); $soap->setClass('Base_Soap_Soaptest'); $soap->handle(); }