【发布时间】:2018-03-30 17:23:06
【问题描述】:
Zend (v1) XmlRpc 客户端出现此错误:
未捕获的异常“Zend_XmlRpc_Client_FaultException”和消息“无法解析响应”。
是错误状态651。
调用永远不会到达请求的类/方法,似乎调用没有被触发,就像它被阻止或其他东西一样。我正在调试调用的方法,它没有被触发。
PHP 版本为 5.4。
编辑
代码如下:
调用者类:
require_once 'library/Zend/XmlRpc/Client.php';
class FrontService
{
private $client;
public function __construct($xmlRpc)
{
$this->client = new Zend_XmlRpc_Client($xmlRpc);
}
public function call($name, $params = array())
{
return $this->client->call($name, $params);
}
}
给班级打电话:
$this->_fs = new FrontService(HM_Config::getParam("amf-url"));
$editos = $this->_fs->call('getEdito',$params_home);
代码调用:
include_once realpath(dirname(__FILE__) .'/..')
.'/application/bootstrap.php';
require_once '_config.php';
require_once 'DirectDbConnectionV2.php';
class FrontGateway extends DirectDbConnectionV2
{
public static $smStatic;
function __construct()
{
mysql_query("SET NAMES 'utf8'");
$this->sm = self::$smStatic;
$this->log = new Log();
$this->log->set_file('amfDbConnection');
$this->log->write('construct bordel');
}
}
FrontGateway::$smStatic = $sm;
$controllerManager = $sm->get('EditoWebsiteMVC\ControllerManager');
$controllerManager->run('EditoWebsite\Controller\UIGateway', 'xmlRpc');
应该执行的代码:
namespace EditoWebsite\Controller;
use EditoWebsiteMVC\AbstractController;
use EditoWebsiteMVC\ViewRender\CLI as CLIViewRender;
use EditoWebsiteMVC\ViewRender\HTMLTemplate as HTMLTemplateViewRender;
use Zend_XmlRpc_Server as XmlRpcServer;
class UIGatewayController extends AbstractController
{
public function xmlRpcAction()
{
$svr = new XmlRpcServer();
$svr->setClass('FrontGateway');
echo $svr->handle();
exit;
}
}
DirectDbConnectionV2 中的 getEdito 方法中的代码永远无法到达。
我需要在服务器上启用什么吗?还是我需要打开的端口?
编辑编辑
我应该提到代码正在我可以访问的另一台服务器上运行,有什么我应该比较/检查以解决这个问题吗?
非常感谢
【问题讨论】:
标签: php zend-framework xml-rpc