本文整理汇总了PHP中Zend_Soap_Server::handle方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Soap_Server::handle方法的具体用法?PHP Zend_Soap_Server::handle怎么用?PHP Zend_Soap_Server::handle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Soap_Server
的用法示例。
在下文中一共展示了Zend_Soap_Server::handle方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
<?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);
}
示例2:
function __doRequest($request, $location, $action, $version) {
ob_start();
$this->_server->handle($request);
$response = ob_get_contents();
ob_end_clean();
return $response;
}
示例3: _doRequest
/**
* 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;
}
示例4: _doRequest
/**
* 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;
}
示例5: soapAction
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();
}
}
示例6: soapAction
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();
}
}
示例7: handleSOAP
/**
* 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
}
示例8: indexAction
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();
}
示例9: processServer
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();
}
示例10: RunServer
/**
* 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;
}
示例11: postDispatch
/**
* 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();
}
示例12: indexAction
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;
}
示例13: connectorAction
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();
}
}
示例14: soapServerAction
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();
}
}
示例15: soap
/**
* 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();
}