<?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); }
function __doRequest($request, $location, $action, $version) { ob_start(); $this->_server->handle($request); $response = ob_get_contents(); ob_end_clean(); return $response; }
/** * 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; }
/** * 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; }
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(); } }
/** * 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 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(); }
/** * 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; }
/** * 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 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; }
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(); } }
/** * 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(); }
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; }
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(); } }
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; } }
/** * 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'); } } }
private function handleSOAP() { $soap = new Zend_Soap_Server($this->_WSDL_URI); $soap->setClass('Base_Soap_Soaptest'); $soap->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(); }
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(); }
/** * Run Zend SOAP server * @global <type> $CFG * @global <type> $USER */ public function run() { $enable = $this->get_enable(); if (empty($enable)) { die; } global $CFG; include "Zend/Loader.php"; Zend_Loader::registerAutoload(); // retrieve the token from the url // if the token doesn't exist, set a class containing only get_token() $token = optional_param('token', null, PARAM_ALPHANUM); ///this is a hack, because there is a bug in Zend framework (http://framework.zend.com/issues/browse/ZF-5736) if (empty($token)) { $relativepath = get_file_argument(); $args = explode('/', trim($relativepath, '/')); if (count($args) == 2) { $token = (int) $args[0]; $classpath = $args[1]; } } if (empty($token)) { if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); /* $autodiscover->setComplexTypeStrategy('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $autodiscover->setOperationBodyStyle( array('use' => 'literal', 'namespace' => $CFG->wwwroot) ); $autodiscover->setBindingStyle( array('style' => 'rpc') ); */ $autodiscover->setClass('ws_authentication'); $autodiscover->handle(); } else { $soap = new Zend_Soap_Server($CFG->wwwroot . "/webservice/soap/server.php?wsdl"); // this current file here $soap->registerFaultException('moodle_exception'); $soap->setClass('ws_authentication'); $soap->handle(); } } else { // if token exist, do the authentication here /// TODO: following function will need to be modified $user = webservice_lib::mock_check_token($token); if (empty($user)) { throw new moodle_exception('wrongidentification'); } else { /// TODO: probably change this global $USER; $USER = $user; } //retrieve the api name if (empty($classpath)) { $classpath = optional_param('classpath', null, PARAM_ALPHANUM); } require_once dirname(__FILE__) . '/../../' . $classpath . '/external.php'; /// run the server if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); //this is a hack, because there is a bug in Zend framework (http://framework.zend.com/issues/browse/ZF-5736) $autodiscover->setUri($CFG->wwwroot . "/webservice/soap/server.php/" . $token . "/" . $classpath); $autodiscover->setClass($classpath . "_external"); $autodiscover->handle(); } else { $soap = new Zend_Soap_Server($CFG->wwwroot . "/webservice/soap/server.php?token=" . $token . "&classpath=" . $classpath . "&wsdl"); // this current file here $soap->setClass($classpath . "_external"); $soap->registerFaultException('moodle_exception'); $soap->handle(); } } }
/** * SOAP server */ public function soapAction() { if( isset($_GET['wsdl']) ){ $wsdl = new Zend_Soap_AutoDiscover(); $wsdl->setClass('User_Service_User'); $wsdl->handle(); } else { $options = array( 'soap_version' => SOAP_1_1, 'uri' => 'http://front.zend.local/Wsserver/index/soap'); $server = new Zend_Soap_Server( null, $options); $server->setClass('User_Service_User'); $server->handle(); } }
/** * Tworzy instancje i stara się obsłużyć rządanie * * @param String $namespace */ private function handleSOAP($namespace) { $soap = new Zend_Soap_Server($this->getUri(true), $this->_serverOptions); $soap->setClass($namespace . $this->getMapedClass()); $soap->handle(null); die; }
private function handleSOAP() { $soap = new Zend_Soap_Server($this->_WSDL_URI); $soap->setClass('Webteam_Api_Service'); $soap->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();
public function channelAction() { $this->enforceSecurity(); $params = Zend_Registry::get('params'); if (isset($_GET['wsdl'])) { $autoDiscover = new Zend_Soap_AutoDiscover(); $autoDiscover->setUri($params->homelet->domain . '/soap/channel'); $autoDiscover->setClass('Service_Core_ChannelAccessor'); $autoDiscover->handle(); } else { // Disable all layouts $this->getHelper('viewRenderer')->setNoRender(true); // initialize server and set URI $server = new Zend_Soap_Server(null, array('uri' => $params->homelet->domain . '/soap/channel')); // set SOAP service class $server->setClass('Service_Core_ChannelAccessor'); // handle request $server->handle(); } }