Beispiel #1
1
<?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);
}
Beispiel #2
0
    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;
 }
Beispiel #4
0
 /**
  * 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;
 }
Beispiel #5
0
 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();
     }
 }
Beispiel #6
0
 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();
     }
 }
Beispiel #7
0
 /**
  * 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
 }
Beispiel #8
0
 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();
 }
Beispiel #12
0
 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;
 }
Beispiel #13
0
 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();
     }
 }
Beispiel #14
0
 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();
     }
 }
Beispiel #15
0
 /**
  * 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;
 }
Beispiel #17
0
 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();
     }
 }
Beispiel #18
0
 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;
     }
 }
Beispiel #19
0
 /**
  * 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');
         }
     }
 }
Beispiel #20
0
 private function handleSOAP()
 {
     $soap = new Zend_Soap_Server($this->_WSDL_URI);
     $soap->setClass('Base_Soap_Soaptest');
     $soap->handle();
 }
Beispiel #21
0
 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();
}
Beispiel #23
0
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();
}
Beispiel #24
0
 /**
  * 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();
         }
     }
 }
Beispiel #25
0
	/**
	 * 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();
		}
	}
Beispiel #26
0
 /**
  * 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();
 }
Beispiel #28
0
     * @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();
     }
 }