本文整理汇总了PHP中Zend_XmlRpc_Server类的典型用法代码示例。如果您正苦于以下问题:PHP Zend_XmlRpc_Server类的具体用法?PHP Zend_XmlRpc_Server怎么用?PHP Zend_XmlRpc_Server使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Zend_XmlRpc_Server类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: indexAction
public function indexAction()
{
$this->_helper->viewRenderer->setNoRender();
$server = new Zend_XmlRpc_Server();
$server->setClass('Application_Model_Data', 'cf');
echo $server->handle();
}
开发者ID:52M,项目名称:sample-json-rpc-php-android,代码行数:7,代码来源:ServerController.php
示例2: xmlrpcServerAction
public function xmlrpcServerAction()
{
Zend_XmlRpc_Server_Fault::attachFaultException('Exception');
$server = new Zend_XmlRpc_Server();
$server->setClass('MyProject_BL_Member', 'member');
header('Content-Type: text/xml');
echo $server->handle();
exit(0);
}
开发者ID:rlecellier,项目名称:basezf,代码行数:9,代码来源:ServiceController.php
示例3: run
/**
* This is the XML-RPC server routine
*
* @access public
* @return void
*/
public function run()
{
Yii::import('application.helpers.remotecontrol.*');
$oHandler = new remotecontrol_handle($this->controller);
$RPCType = Yii::app()->getConfig("RPCInterface");
if (Yii::app()->getRequest()->isPostRequest) {
if ($RPCType == 'xml') {
$cur_path = get_include_path();
set_include_path($cur_path . PATH_SEPARATOR . APPPATH . 'helpers');
// Yii::import was causing problems for some odd reason
require_once 'Zend/XmlRpc/Server.php';
require_once 'Zend/XmlRpc/Server/Exception.php';
require_once 'Zend/XmlRpc/Value/Exception.php';
$this->xmlrpc = new Zend_XmlRpc_Server();
$this->xmlrpc->sendArgumentsToAllMethods(false);
Yii::import('application.libraries.LSZend_XmlRpc_Response_Http');
$this->xmlrpc->setResponseClass('LSZend_XmlRpc_Response_Http');
$this->xmlrpc->setClass($oHandler);
$result = $this->xmlrpc->handle();
if ($result instanceof LSZend_XmlRpc_Response_Http) {
$result->printXml();
} else {
// a Zend_XmlRpc_Server_Fault with exception message from XMLRPC
echo $result;
}
} elseif ($RPCType == 'json') {
Yii::app()->loadLibrary('LSjsonRPCServer');
if (!isset($_SERVER['CONTENT_TYPE'])) {
$serverContentType = explode(';', $_SERVER['HTTP_CONTENT_TYPE']);
$_SERVER['CONTENT_TYPE'] = reset($serverContentType);
}
LSjsonRPCServer::handle($oHandler);
}
foreach (App()->log->routes as $route) {
$route->enabled = $route->enabled && !$route instanceof CWebLogRoute;
}
exit;
} else {
// Disabled output of API methods for now
if (Yii::app()->getConfig("rpc_publish_api") == true && in_array($RPCType, array('xml', 'json'))) {
$reflector = new ReflectionObject($oHandler);
foreach ($reflector->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
/* @var $method ReflectionMethod */
if (substr($method->getName(), 0, 1) !== '_') {
$list[$method->getName()] = array('description' => str_replace(array("\r", "\r\n", "\n"), "<br/>", $method->getDocComment()), 'parameters' => $method->getParameters());
}
}
ksort($list);
$aData['method'] = $RPCType;
$aData['list'] = $list;
$aData['display']['menu_bars'] = false;
// Hide normal menu bar
$this->_renderWrappedTemplate('remotecontrol', array('index_view'), $aData);
}
}
}
开发者ID:wrenchpilot,项目名称:LimeSurvey,代码行数:62,代码来源:remotecontrol.php
示例4: testGetSave
/**
* Tests functionality of both get() and save()
*/
public function testGetSave()
{
if (!is_writeable('./')) {
throw new PHPUnit_Framework_IncompleteTestError('Directory not writeable');
}
$this->assertTrue(Zend_XmlRpc_Server_Cache::save($this->_file, $this->_server));
$expected = $this->_server->listMethods();
$server = new Zend_XmlRpc_Server();
$this->assertTrue(Zend_XmlRpc_Server_Cache::get($this->_file, $server));
$actual = $server->listMethods();
$this->assertSame($expected, $actual);
}
开发者ID:jorgenils,项目名称:zend-framework,代码行数:15,代码来源:CacheTest.php
示例5: pingAction
/**
* Ping should be called when new content is created
*/
public function pingAction()
{
//Do not render anything, otherwise there will be an xml parse error
$this->getHelper('viewRenderer')->setNoRender();
$this->_helper->layout->disableLayout();
try {
//set up a new factory Zend xmlrpc server and add classes
$server = new Zend_XmlRpc_Server();
$server->setClass('Ifphp_Ping_XmlRpc', 'pingback');
//success
echo $server->handle();
} catch (Exception $e) {
throw $e;
}
}
开发者ID:akeemphilbert,项目名称:ifphp,代码行数:18,代码来源:XmlRpcController.php
示例6: run
/**
* Run webservice
*
* @param Mage_Api_Controller_Action $controller
* @return Mage_Api_Model_Server_Adapter_Xmlrpc
*/
public function run()
{
$this->_xmlRpc = new Zend_XmlRpc_Server();
$this->_xmlRpc->setClass($this->getHandler());
$this->getController()->getResponse()->setHeader('Content-Type', 'text/xml')->setBody($this->_xmlRpc->handle());
return $this;
}
开发者ID:hunnybohara,项目名称:magento-chinese-localization,代码行数:13,代码来源:Xmlrpc.php
示例7: xmlrpcServerAction
public function xmlrpcServerAction()
{
// disable layout and view
$this->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
// set output format
header('Content-Type: text/xml');
// handle server request
Zend_XmlRpc_Server_Fault::attachFaultException('Exception');
$server = new Zend_XmlRpc_Server();
$server->setClass('MyProject_Service_XmlRpc_Example', 'example');
$response = $server->handle();
// display response
echo $response;
exit(0);
}
开发者ID:erider,项目名称:basezf,代码行数:16,代码来源:ServiceController.php
示例8: run
/**
* Run webservice
*
* @return Mage_Api_Model_Server_Adapter_Xmlrpc
*/
public function run()
{
$apiConfigCharset = Mage::getStoreConfig("api/config/charset");
$this->_xmlRpc = new Zend_XmlRpc_Server();
$this->_xmlRpc->setEncoding($apiConfigCharset)->setClass($this->getHandler());
$this->getController()->getResponse()->clearHeaders()->setHeader('Content-Type', 'text/xml; charset=' . $apiConfigCharset)->setBody($this->_xmlRpc->handle());
return $this;
}
开发者ID:chucky515,项目名称:Magento-CE-Mirror,代码行数:13,代码来源:Xmlrpc.php
示例9: get
/**
* Add dispatch table from a file
*
* Unserializes a stored dispatch table. Returns false if it
* fails in any way, true on success.
*
* Useful to prevent needing to build the dispatch list on each XMLRPC
* request. Sample usage:
*
* <code>
* if (!Zym_XmlRpc_Server_Cache::get($id, $coreCache, $server)) {
* require_once 'Some/Service/Class.php';
* require_once 'Another/Service/Class.php';
*
* // Attach Some_Service_Class with namespace 'some'
* $server->setClass('Some_Service_Class', 'some');
*
* // Attach Another_Service_Class with namespace 'another'
* $server->setClass('Another_Service_Class', 'another');
*
* Zym_XmlRpc_Server_Cache::save($id, $coreCache, $server);
* }
*
* $response = $server->handle();
* echo $response;
* </code>
*
* @param string $id
* @param Zend_Cache_Core $coreCache
* @param Zend_XmlRpc_Server $server
*
* @return boolean
*/
public static function get($id, Zend_Cache_Core $coreCache, Zend_XmlRpc_Server $server)
{
$dispatchArray = @unserialize($coreCache->load($id, false, true));
try {
$server->loadFunctions($dispatchArray);
} catch (Zend_XmlRpc_Server_Exception $e) {
return false;
}
return true;
}
开发者ID:BGCX262,项目名称:zym-svn-to-git,代码行数:43,代码来源:Cache.php
示例10: testCanMarshalBase64Requests
/**
* @see ZF-2872
*/
public function testCanMarshalBase64Requests()
{
$this->_server->setClass('Zend_XmlRpc_Server_testClass', 'test');
$data = base64_encode('this is the payload');
$param = array('type' => 'base64', 'value' => $data);
$request = new Zend_XmlRpc_Request('test.base64', array($param));
$response = $this->_server->handle($request);
$this->assertFalse($response instanceof Zend_XmlRpc_Fault);
$this->assertEquals($data, $response->getReturnValue());
}
开发者ID:jon9872,项目名称:zend-framework,代码行数:13,代码来源:ServerTest.php
示例11: fault
/**
* Raise an xmlrpc server fault
*
* Moodle note: the difference with the Zend server is that we throw a plain PHP Exception
* with the debuginfo integrated to the exception message when DEBUG >= NORMAL
*
* @param string|Exception $fault
* @param int $code
* @return Zend_XmlRpc_Server_Fault
*/
public function fault($fault = null, $code = 404)
{
//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 Exception($fault->getMessage() . ' | DEBUG INFO: ' . $fault->debuginfo, 0);
}
}
return parent::fault($fault, $code);
}
开发者ID:LMSeXT,项目名称:SAWEE-WS_server-engine,代码行数:21,代码来源:locallib.php
示例12: run
/**
* This is the XML-RPC server routine
*
* @access public
* @return void
*/
public function run()
{
$RPCType = Yii::app()->getConfig("RPCInterface");
if ($RPCType == 'xml') {
$cur_path = get_include_path();
set_include_path($cur_path . PATH_SEPARATOR . APPPATH . 'helpers');
// Yii::import was causing problems for some odd reason
require_once 'Zend/XmlRpc/Server.php';
require_once 'Zend/XmlRpc/Server/Exception.php';
require_once 'Zend/XmlRpc/Value/Exception.php';
$this->xmlrpc = new Zend_XmlRpc_Server();
$this->xmlrpc->sendArgumentsToAllMethods(false);
$this->xmlrpc->setClass('remotecontrol_handle', '', $this->controller);
echo $this->xmlrpc->handle();
} elseif ($RPCType == 'json') {
Yii::app()->loadLibrary('jsonRPCServer');
$oHandler = new remotecontrol_handle($this->controller);
jsonRPCServer::handle($oHandler);
}
exit;
}
开发者ID:rawaludin,项目名称:LimeSurvey,代码行数:27,代码来源:remotecontrol.php
示例13: testGetSave
/**
* Tests functionality of both get() and save()
*
* @return void
*/
public function testGetSave()
{
if (!is_writeable(dirname(__FILE__))) {
$this->markTestIncomplete('Directory no writable');
}
$this->assertTrue(Zym_XmlRpc_Server_Cache::save('cache', $this->_cache, $this->_server));
$expected = $this->_server->listMethods();
$server = new Zend_XmlRpc_Server();
$this->assertTrue(Zym_XmlRpc_Server_Cache::get('cache', $this->_cache, $server));
$actual = $server->listMethods();
$this->assertSame($expected, $actual);
}
开发者ID:BGCX262,项目名称:zym-svn-to-git,代码行数:17,代码来源:CacheTest.php
示例14: run
/**
* This is the XML-RPC server routine
*
* @access public
* @return void
*/
public function run()
{
$oHandler = new remotecontrol_handle($this->controller);
$RPCType = Yii::app()->getConfig("RPCInterface");
if (Yii::app()->getRequest()->isPostRequest) {
if ($RPCType == 'xml') {
$cur_path = get_include_path();
set_include_path($cur_path . PATH_SEPARATOR . APPPATH . 'helpers');
// Yii::import was causing problems for some odd reason
require_once 'Zend/XmlRpc/Server.php';
require_once 'Zend/XmlRpc/Server/Exception.php';
require_once 'Zend/XmlRpc/Value/Exception.php';
$this->xmlrpc = new Zend_XmlRpc_Server();
$this->xmlrpc->sendArgumentsToAllMethods(false);
$this->xmlrpc->setClass($oHandler);
echo $this->xmlrpc->handle();
} elseif ($RPCType == 'json') {
Yii::app()->loadLibrary('jsonRPCServer');
jsonRPCServer::handle($oHandler);
}
exit;
} else {
// Disabled output of API methods for now
if (1 == 2 && in_array($RPCType, array('xml', 'json'))) {
$reflector = new ReflectionObject($oHandler);
foreach ($reflector->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
/* @var $method ReflectionMethod */
if (substr($method->getName(), 0, 1) !== '_') {
$list[$method->getName()] = array('description' => str_replace(array("\r", "\r\n", "\n"), "<br/>", $method->getDocComment()), 'parameters' => $method->getParameters());
}
}
ksort($list);
$aData['method'] = $RPCType;
$aData['list'] = $list;
$aData['display']['menu_bars'] = false;
// Hide normal menu bar
$this->_renderWrappedTemplate('remotecontrol', array('index_view'), $aData);
}
}
}
开发者ID:ryu1inaba,项目名称:LimeSurvey,代码行数:46,代码来源:remotecontrol.php
示例15: pingAction
/**
* receive a ping
*/
public function pingAction()
{
$owApp = OntoWiki::getInstance();
$logger = $owApp->logger;
$logger->debug('Pingback Server Init.');
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();
$this->_owApp->appendMessage(new OntoWiki_Message('Ping received.', OntoWiki_Message::INFO));
$post = $this->_request->getPost();
if (isset($post['source']) && isset($post['target'])) {
// Simplified Semantic Pingback
// read config and put it into options
$options = array();
$config = $this->_privateConfig;
if (isset($config->rdfa->enabled)) {
$options['rdfa'] = $config->rdfa->enabled;
}
if (isset($config->titleProperties)) {
$options['title_properties'] = $config->titleProperties->toArray();
}
if (isset($config->genericRelation)) {
$options['generic_relation'] = $config->genericRelation;
}
$ping = new Erfurt_Ping($options);
echo $ping->receive($post['source'], $post['target']);
return;
} else {
// Create XML RPC Server
$server = new Zend_XmlRpc_Server();
$server->setClass($this, 'pingback');
// Let the server handle the RPC calls.
$response = $this->getResponse();
$response->setBody($server->handle());
return;
}
}
开发者ID:dmj,项目名称:uni-helmstedt.hab.de,代码行数:39,代码来源:PingbackController.php
示例16: run
public function run()
{
$enable = $this->get_enable();
if (empty($enable)) {
die;
}
include "Zend/Loader.php";
Zend_Loader::registerAutoload();
Zend_XmlRpc_Server_Fault::attachFaultException('moodle_exception');
// 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);
if (empty($token)) {
$server = new Zend_XmlRpc_Server();
$server->setClass("ws_authentication", "authentication");
echo $server->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
$classpath = optional_param(classpath, null, PARAM_ALPHA);
require_once dirname(__FILE__) . '/../../' . $classpath . '/external.php';
/// run the server
$server = new Zend_XmlRpc_Server();
$server->setClass($classpath . "_external", $classpath);
echo $server->handle();
}
}
开发者ID:nicolasconnault,项目名称:moodle2.0,代码行数:36,代码来源:lib.php
示例17: fault
/**
* Generate a server fault
*
* Note that the arguments are reverse to those of Zend_XmlRpc_Server_Fault.
*
* note: the difference with the Zend server is that we throw a Zend_XmlRpc_Server_Fault 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()}.
*
* @param string|Exception $fault
* @param string $code XMLRPC Fault Codes
* @return Zend_XmlRpc_Server_Fault
*/
public function fault($fault = null, $code = 404)
{
//run the zend code that clean/create a xmlrpcfault
$xmlrpcfault = 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;
}
}
$fault = new Zend_XmlRpc_Server_Fault($xmlrpcfault);
$fault->setCode($xmlrpcfault->getCode());
$fault->setMessage($xmlrpcfault->getMessage() . ' | ERRORCODE: ' . $xmlrpcfault->getCode() . ' | DETAILS: ' . $details);
return $fault;
}
开发者ID:rboyatt,项目名称:mahara,代码行数:34,代码来源:locallib.php
示例18: fault
/**
* Raise an xmlrpc server fault
*
* Moodle note: the difference with the Zend server is that we throw a plain PHP Exception
* with the debuginfo integrated to the exception message when DEBUG >= NORMAL
*
* @param string|Exception $fault
* @param int $code
* @return Zend_XmlRpc_Server_Fault
*/
public function fault($fault = null, $code = 404)
{
// Intercept any exceptions with debug info and transform it in Moodle exception.
if ($fault instanceof Exception) {
// Code php exception must be a long
// we obtain a hash of the errorcode, and then to get an integer hash.
$code = base_convert(md5($fault->errorcode), 16, 10);
// Code php exception being a long, it has a maximum number of digits.
// we strip the $code to 8 digits, and hope for no error code collisions.
// Collisions should be pretty rare, and if needed the client can retrieve
// the accurate errorcode from the last | in the exception message.
$code = substr($code, 0, 8);
// Add the debuginfo to the exception message if debuginfo must be returned.
if (debugging() and isset($fault->debuginfo)) {
$fault = new Exception($fault->getMessage() . ' | DEBUG INFO: ' . $fault->debuginfo . ' | ERRORCODE: ' . $fault->errorcode, $code);
} else {
$fault = new Exception($fault->getMessage() . ' | ERRORCODE: ' . $fault->errorcode, $code);
}
}
return parent::fault($fault, $code);
}
开发者ID:alanaipe2015,项目名称:moodle,代码行数:31,代码来源:locallib.php
示例19: Zend_XmlRpc_Server
<?php
require 'startzend.php';
require 'Hp12c.php';
$server = new Zend_XmlRpc_Server();
$server->setClass('Hp12c', 'calculadora');
echo $server->handle();
开发者ID:pelif,项目名称:studyWS,代码行数:7,代码来源:remote3.php
示例20: get
/**
* Add dispatch table from a file
*
* Unserializes a stored dispatch table from $filename. Returns false if it
* fails in any way, true on success.
*
* Useful to prevent needing to build the dispatch list on each XMLRPC
* request. Sample usage:
*
* <code>
* if (!Zend_XmlRpc_Server_Cache::get($filename, $server)) {
* require_once 'Some/Service/Class.php';
* require_once 'Another/Service/Class.php';
*
* // Attach Some_Service_Class with namespace 'some'
* $server->attach('Some_Service_Class', 'some');
*
* // Attach Another_Service_Class with namespace 'another'
* $server->attach('Another_Service_Class', 'another');
*
* Zend_XmlRpc_Server_Cache::save($filename, $server);
* }
*
* $response = $server->handle();
* echo $response;
* </code>
*
* @param string $filename
* @param Zend_XmlRpc_Server $server
* @return bool
*/
public static function get($filename, Zend_XmlRpc_Server $server)
{
if (!is_string($filename) || !file_exists($filename) || !is_readable($filename)) {
return false;
}
if (false === ($dispatch = @file_get_contents($filename))) {
return false;
}
if (false === ($dispatchArray = @unserialize($dispatch))) {
return false;
}
$server->loadFunctions($dispatchArray);
return true;
}
开发者ID:villos,项目名称:tree_admin,代码行数:45,代码来源:Cache.php
注:本文中的Zend_XmlRpc_Server类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论