<?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->_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 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 processWSDL() { $autodiscover = new Zend_Soap_AutoDiscover(new Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence()); $autodiscover->setClass('soapserverservice'); $autodiscover->setUri($this->url('soapserver|soap|Server')); $autodiscover->handle(); return _arNone(); }
public function soapWSDL() { $vs_service = $this->request->config->get("site_host") . __CA_URL_ROOT__ . "/service.php/usercontent/UserContent/soap"; $vo_autodiscover = new Zend_Soap_AutoDiscover(true, $vs_service); $vo_autodiscover->setClass('UserContentService', $this->request); $this->view->setVar("autodiscover", $vo_autodiscover); $this->render("usercontent_soap_wsdl.php"); }
public function soapWSDL() { if ($this->opb_disable) { return ""; } $vs_service = $this->request->config->get("site_host") . __CA_URL_ROOT__ . "/service.php/accesscontrol/AccessControl/soap"; $vo_autodiscover = new Zend_Soap_AutoDiscover(true, $vs_service); $vo_autodiscover->setClass('AccessControlService', $this->request); $this->view->setVar("autodiscover", $vo_autodiscover); $this->render("accesscontrol/accesscontrol_soap_wsdl.php"); }
/** * 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(); } }
function testSetClass() { $server = new Zend_Soap_AutoDiscover(); $server->setClass('Zend_Soap_AutoDiscover_Test'); $dom = new DOMDocument(); ob_start(); $server->handle(); $dom->loadXML(ob_get_clean()); $wsdl = '<?xml version="1.0"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://' . $_SERVER['PHP_SELF'] . '" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" name="Zend_Soap_AutoDiscover_Test" targetNamespace="http://' . $_SERVER['PHP_SELF'] . '"><portType name="Zend_Soap_AutoDiscover_TestPort"><operation name="testFunc"><input message="tns:testFuncRequest"/><output message="tns:testFuncResponse"/></operation><operation name="testFunc2"><input message="tns:testFunc2Request"/><output message="tns:testFunc2Response"/></operation><operation name="testFunc3"><input message="tns:testFunc3Request"/><output message="tns:testFunc3Response"/></operation><operation name="testFunc4"><input message="tns:testFunc4Request"/><output message="tns:testFunc4Response"/></operation></portType><binding name="Zend_Soap_AutoDiscover_TestBinding" type="tns:Zend_Soap_AutoDiscover_TestPort"><soap:operation soapAction="http://' . $_SERVER['PHP_SELF'] . '#testFunc4"/><soap:operation soapAction="http://' . $_SERVER['PHP_SELF'] . '#testFunc3"/><soap:operation soapAction="http://' . $_SERVER['PHP_SELF'] . '#testFunc2"/><soap:operation soapAction="http://' . $_SERVER['PHP_SELF'] . '#testFunc"/><soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><operation name="testFunc"><input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation name="testFunc2"><input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation name="testFunc3"><input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation name="testFunc4"><input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation></binding><service name="Zend_Soap_AutoDiscover_TestService"><port name="Zend_Soap_AutoDiscover_TestPort" binding="tns:Zend_Soap_AutoDiscover_TestBinding"><soap:address location="http://' . $_SERVER['PHP_SELF'] . '"/></port></service><message name="testFuncRequest"/><message name="testFunc2Request"><part name="who" type="xsd:string"/></message><message name="testFunc3Request"><part name="who" type="xsd:string"/><part name="when" type="xsd:int"/></message><message name="testFunc3Response"><part name="testFunc3Return" type="xsd:string"/></message><message name="testFunc4Request"/></definitions> '; $dom->save(dirname(__FILE__) . '/setclass.wsdl'); $this->assertEquals($wsdl, $dom->saveXML()); $this->assertTrue($dom->schemaValidate(dirname(__FILE__) . '/schemas/wsdl.xsd'), "WSDL Did not validate"); }
/** * Show the WSDL file of a specific class * * @param string $classname */ public function wsdl($classname) { //You can add Zend_Auth code here if you do not want //everybody can access the WSDL file. if (empty($classname)) { return false; } list($app, $module, $class) = explode("_", $classname); // initilizing zend autodiscover object. $wsdl = new Zend_Soap_AutoDiscover(); // register SOAP service class $wsdl->setClass($classname); // set a SOAP action URI. here, SOAP action is 'soap' as defined above. $wsdl->setUri("http://" . $_SERVER['HTTP_HOST'] . "/" . strtolower($class) . ".soap"); // handle request $wsdl->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 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(); } }
function testSetClass() { if (!isset($_SERVER['HTTP_HOST'])) { $_SERVER['HTTP_HOST'] = 'localhost'; } if (!isset($_SERVER['SCRIPT_NAME'])) { $_SERVER['SCRIPT_NAME'] = '/my_script.php'; } $scriptUri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']; $server = new Zend_Soap_AutoDiscover(); $server->setClass('Zend_Soap_AutoDiscover_Test'); $dom = new DOMDocument(); ob_start(); $server->handle(); $dom->loadXML(ob_get_clean()); $wsdl = '<?xml version="1.0"?>' . PHP_EOL . '<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" ' . 'xmlns:tns="' . $scriptUri . '" ' . 'xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" ' . 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' . 'xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" ' . 'name="Zend_Soap_AutoDiscover_Test" ' . 'targetNamespace="' . $scriptUri . '">' . '<portType name="Zend_Soap_AutoDiscover_TestPort">' . '<operation name="testFunc1">' . '<input message="tns:testFunc1Request"/>' . '<output message="tns:testFunc1Response"/>' . '</operation>' . '<operation name="testFunc2">' . '<input message="tns:testFunc2Request"/>' . '<output message="tns:testFunc2Response"/>' . '</operation>' . '<operation name="testFunc3">' . '<input message="tns:testFunc3Request"/>' . '<output message="tns:testFunc3Response"/>' . '</operation><operation name="testFunc4">' . '<input message="tns:testFunc4Request"/>' . '<output message="tns:testFunc4Response"/>' . '</operation>' . '</portType>' . '<binding name="Zend_Soap_AutoDiscover_TestBinding" type="tns:Zend_Soap_AutoDiscover_TestPort">' . '<soap:operation soapAction="' . $scriptUri . '#testFunc4"/>' . '<soap:operation soapAction="' . $scriptUri . '#testFunc3"/>' . '<soap:operation soapAction="' . $scriptUri . '#testFunc2"/>' . '<soap:operation soapAction="' . $scriptUri . '#testFunc1"/>' . '<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>' . '<operation name="testFunc1">' . '<input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>' . '<output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>' . '</operation>' . '<operation name="testFunc2">' . '<input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>' . '<output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>' . '</operation>' . '<operation name="testFunc3">' . '<input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>' . '<output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>' . '</operation>' . '<operation name="testFunc4">' . '<input><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>' . '<output><soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>' . '</operation>' . '</binding>' . '<service name="Zend_Soap_AutoDiscover_TestService">' . '<port name="Zend_Soap_AutoDiscover_TestPort" binding="tns:Zend_Soap_AutoDiscover_TestBinding">' . '<soap:address location="' . $scriptUri . '"/>' . '</port>' . '</service>' . '<message name="testFunc1Request"/>' . '<message name="testFunc1Response"><part name="testFunc1Return" type="xsd:string"/></message>' . '<message name="testFunc2Request"><part name="who" type="xsd:string"/></message>' . '<message name="testFunc2Response"><part name="testFunc2Return" type="xsd:string"/></message>' . '<message name="testFunc3Request"><part name="who" type="xsd:string"/><part name="when" type="xsd:int"/></message>' . '<message name="testFunc3Response"><part name="testFunc3Return" type="xsd:string"/></message>' . '<message name="testFunc4Request"/>' . '<message name="testFunc4Response"><part name="testFunc4Return" type="xsd:string"/></message>' . '</definitions>' . PHP_EOL; $dom->save(dirname(__FILE__) . '/_files/setclass.wsdl'); $this->assertEquals($wsdl, $dom->saveXML()); $this->assertTrue($dom->schemaValidate(dirname(__FILE__) . '/schemas/wsdl.xsd'), "WSDL Did not validate"); unlink(dirname(__FILE__) . '/_files/setclass.wsdl'); }
/** * 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(); } } }
private function hadleWSDL() { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('Base_Soap_Soaptest'); $autodiscover->handle(); }
<?php require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); class SingleEntity { /** * Alternative Entity * @var SingleEntity */ public $AlternativeEntity = Null; /** * Single Entity * * @return SingleEntity */ public function SingleEntity() { return new SingleEntity(); } } $Discover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $Discover->setClass('SingleEntity'); $Discover->handle();
/** * @group ZF-8948 * @group ZF-5766 */ public function testRecursiveWsdlDependencies() { $autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $autodiscover->setClass('Zend_Soap_AutoDiscover_Recursion'); $wsdl = $autodiscover->toXml(); // <types> // <xsd:schema targetNamespace="http://localhost/my_script.php"> // <xsd:complexType name="Zend_Soap_AutoDiscover_Recursion"> // <xsd:all> // <xsd:element name="recursion" type="tns:Zend_Soap_AutoDiscover_Recursion"/> $path = '//wsdl:types/xsd:schema/xsd:complexType[@name="Zend_Soap_AutoDiscover_Recursion"]/xsd:all/xsd:element[@name="recursion" and @type="tns:Zend_Soap_AutoDiscover_Recursion"]'; $this->assertWsdlPathExists($wsdl, $path); }
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(); } }
<?php // Define path to application directory defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'); // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path()))); /** Zend_Application */ require_once 'Zend/Application.php'; // Create application, bootstrap, and run $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini'); $application->getBootstrap()->bootstrap('db'); header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET, POST, OPTIONS'); header('Access-Control-Allow-Headers: Content-Type, Authorization, Accept'); if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('Application_Model_WebServices'); $autodiscover->setBindingStyle(array('style' => 'rpc')); $autodiscover->handle(); } else { ini_set("soap.wsdl_cache_enabled", "0"); $server = new Zend_Soap_Server(); $server->setOptions(array('soap_version' => SOAP_1_2, 'actor' => 'http://localhost/AgendaTelefonicaPHPSOAP/public/webservice.php', 'encoding' => 'UTF-8')); $server->setWsdl('http://localhost/AgendaTelefonicaPHPSOAP/public/webservice.php?wsdl'); $server->setClass('Application_Model_WebServices'); $server->handle(); }
require_once "loadZend.php"; class MyClass { /** * @param integer $num1 * @param integer $num2 * @return integer */ public function Sum($num1, $num2) { return $num1 + $num2; } /** * @param integer $num1 * @param integer $num2 * @return integer */ public function Sub($num1, $num2) { return $num2 - $num1; } } if (isset($_GET['wsdl'])) { $server = new Zend_Soap_AutoDiscover(); $server->setClass("MyClass"); $server->handle(); } else { $server = new Zend_Soap_Server("http://127.0.0.1/xmlgenerator/ws-zend02/server.php?wsdl"); $server->setClass("MyClass"); $server->handle(); }
$Message = com_create_guid(); return $Message; } /** * * @param string $UserID * @param string $StreamID * @return boolean */ public function VerifyStream($UserID, $StreamID) { //check if UserID and StreamID are vaild return true; } } //Subscriber if (isset($_GET['wsdl'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass("MyService"); $autodiscover->handle(); //Publisher } else { $server = new Zend_Soap_Server($serviceURL . "?wsdl"); $server->setClass('MyService'); $server->setObject(new MyService()); $server->handle(); } ?>
private function hadleWSDL() { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('Webteam_Api_Service'); $autodiscover->handle(); }
public function autodiscoverWsdlDocument($wsClassName = null, $log = FALSE) { $wsClassName = self::generateWSClassName($wsClassName); $wsdlStrategy = new Zend_Soap_Wsdl_Strategy_Composite(); $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Object_Bonus[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex); $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Object_DepositData[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex); $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Handler_Response_Step[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex); $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Handler_Response_Option[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex); $wsdlStrategy->connectTypeToStrategy('Logic_WebService_Object_DepositDuration[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex); //$wsdlStrategy->connectTypeToStrategy('Logic_WebService_Handler_Response_Option', Zend_Soap_Wsdl_Strategy_AnyType); $wsdlStrategy->connectTypeToStrategy('float[]', Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence); $wsdlStrategy->connectTypeToStrategy('string[]', Zend_Soap_Wsdl_Strategy_AnyType); $autodisc = new Zend_Soap_AutoDiscover($wsdlStrategy); $autodisc->setClass($wsClassName); $autodisc->dump(APPLICATION_PATH . '/../tmp/' . $wsClassName . '.tmp'); if (!is_readable(APPLICATION_PATH . '/../tmp/' . $wsClassName . '.tmp')) { throw new SoapFault('No "/../tmp/' . $wsClassName . '.tmp" or fail is unreadable', '007'); } $return = file_get_contents(APPLICATION_PATH . '/../tmp/' . $wsClassName . '.tmp'); if ($return === false && $log) { throw new SoapFault('Error during reading of WSDL, fail: "/../tmp/' . $wsClassName . '.tmp"', '008'); } return $return; }
* external APPs to allow remote access. * * Please read the following page to know how this server works: * http://framework.zend.com/manual/en/zend.soap.server.html * * @author Kevin Papst <*****@*****.**> */ // Bootstrap Kimai require dirname(__FILE__) . "/../includes/basics.php"; ini_set('soap.wsdl_cache_enabled', 0); // @TODO ini_set('soap.wsdl_cache_dir', APPLICATION_PATH . '/temporary/'); // @TODO ini_set('soap.wsdl_cache', WSDL_CACHE_NONE); // WSDL_CACHE_DISK ini_set('soap.wsdl_cache_ttl', 0); // cache lifetime // @TODO check what works better, with or without? //$soapOpts = array('soap_version' => SOAP_1_2, 'encoding' => 'UTF-8'/*, 'uri' => $wsdlUrl*/); $soapOpts = array(); if (isset($_GET['wsdl']) || isset($_GET['WSDL'])) { $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('Kimai_Remote_Api'); $autodiscover->handle(); } else { $wsdlUrl = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '?wsdl'; $server = new Kimai_Remote_Api(); $soap = new Zend_Soap_Server($wsdlUrl, $soapOpts); $soap->setObject($server); $soap->handle(); }
<?php /** * index file * * PHP Version 5.3.0 * * @category PHP * @package wsportfolio * @author Sergio Alejandro Valencia Lopez * @license http://www.opensource.org/licenses/bsd-license.php BSD License * @version SVN: $Id$ * */ require_once 'class/Conf/Autoload.php'; Autoload::register(array(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'Request', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'Response', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'Params', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'Conf', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . 'Business')); if (isset($_GET['wsdl'])) { include_once 'Zend/Soap/AutoDiscover.php'; $autodiscover = new Zend_Soap_AutoDiscover(true); $autodiscover->setUri('http://127.0.0.1/webservice/index.php'); $autodiscover->setClass('WebService'); $autodiscover->handle(); } else { ini_set("soap.wsdl_cache_enabled", 0); $server = new SoapServer('wsdl/webservice.wsdl'); $server->setClass('WebService'); $server->setPersistence(SOAP_PERSISTENCE_SESSION); $server->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(); } }
<?php set_include_path(get_include_path() . PATH_SEPARATOR . 'ZendFramework-1.10.8/library/'); /* incluir as classes necessoarias */ include_once "ZendFramework-1.10.8/library/Zend/Soap/Server.php"; include_once "ZendFramework-1.10.8/library/Zend/Soap/AutoDiscover.php"; if (isset($_GET['wsdl'])) { /* * Usar o Soap AutoDiscover para criacao do WSDL de forma dinamica */ $autodiscover = new Zend_Soap_AutoDiscover(); $autodiscover->setClass('Calculadora'); $autodiscover->handle(); } else { // Disponibilizar o webservice atraves do canal: $soap = new Zend_Soap_Server("http://127.0.0.1/calculadora_service/CalculadoraService.php?wsdl"); $soap->setClass('Calculadora'); $soap->handle(); } /* * Classe calculadora */ class Calculadora { /** * Realiza Soma * @param integer $a * @param integer $b * @return integer */ public function soma($a, $b)
* Prints some test data. * * @param string $param2 * @param string $param1 * @param string $param3 * @return string */ function test($param2, $param1, $param3) { return 'test1 ' . $param1 . ' test2 ' . $param2 . ' test3 ' . $param3; } /** * Displays the Tiki_ComplexType data. * * @param Tiki_ComplexType $complex_param * @return string */ function test_complex(Tiki_ComplexType $complex_param) { return $complex_param->param1 . ' =====> ' . $complex_param->param2; } } if (is_null($_GET['wsdl'])) { $server = new Zend_Soap_Server($_SERVER['SCRIPT_URI'] . '?wsdl'); $server->setClass('Tiki_WebServices'); $server->handle(); } else { $wsdl = new Zend_Soap_AutoDiscover(); $wsdl->setClass('Tiki_WebServices'); $wsdl->handle(); }