0

zf 2.0.4 => 2.0.6 のアップグレード後にエラーが発生しました

Zend\Http\Exception\RuntimeException

File:

D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\Http\Response.php:449

Message:

Error parsing body - doesn't seem to be a chunked message

Stack trace:

#0 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\Http\Response.php(303): Zend\Http\Response->decodeChunkedBody('???????????????...')
#1 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\XmlRpc\Client.php(245): Zend\Http\Response->getBody()
#2 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\XmlRpc\Client.php(318): Zend\XmlRpc\Client->doRequest(Object(Zend\XmlRpc\Request))
#3 D:\xampp\htdocs\htm\base\module\Zone\src\Zone\Controller\AdminController.php(132): Zend\XmlRpc\Client->call('ox.agencyZoneSt...', Array)
#4 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\Mvc\Controller\AbstractActionController.php(90): Zone\Controller\AdminController->manageAction()
#5 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#6 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(464): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#7 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(208): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#8 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\Mvc\Controller\AbstractController.php(107): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#9 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\Mvc\DispatchListener.php(113): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response))
#10 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#11 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(464): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#12 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(208): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#13 D:\xampp\htdocs\htm\base\vendor\zendframework\zendframework\library\Zend\Mvc\Application.php(297): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#14 D:\xampp\htdocs\htm\base\public\index.php(15): Zend\Mvc\Application->run()
#15 {main}

そして、私はそれが私のZend\XMLRpc\Client電話から来ていることを検出します

$httpClient = new \Zend\Http\Client();
$oxClient = new \Zend\XmlRpc\Client('http://xxx.com/www/api/v2/xmlrpc/',$httpClient);
$oxSession = $this->oxClient->call('ox.logon',$oxLogin); 
$zone_list = $this->oxClient->call('ox.agencyZoneStatistics',array($oxSession,$agency_id)); 

OpenX API システムを呼び出します。最初の呼び出しでlogonは成功しましたが、2 回目の呼び出しでは失敗しました ??! decodeChunkedBodyでの機能に問題があると思いますZend\Http\Response.php。OpenX からのチャンクされた応答を理解できない

protected function decodeChunkedBody($body)
{
    $decBody = '';

    while (trim($body)) {
        if (! preg_match("/^([\da-fA-F]+)[^\r\n]*\r\n/sm", $body, $m)) {
            throw new Exception\RuntimeException(
                "Error parsing body - doesn't seem to be a chunked message"
            );
        }

        $length   = hexdec(trim($m[1]));
        $cut      = strlen($m[0]);
        $decBody .= substr($body, $cut, $length);
        $body     = substr($body, $cut + $length + 2);
    }

    return $decBody;
}

ここで立ち往生しました。最初の古いライブラリ (2.0.4) はうまく機能します。zfcuser、zfcbase を使用するための要件が​​あるため、アップグレードします。logonしかし、新しいライブラリ (2.0.6) では、2 回目の呼び出し (およびmethod以外のすべて) でこのエラーが発生しました。

4

1 に答える 1

0

しばらく前に、XML-RPC を使用して OpenX API にアクセスする際に問題がありましたが、解決策は簡単であることがわかりました: http://www.openxrest.com/xml-rpc2-returns-empty-decoded-result/

また、デバッグ モードをオンにする必要があります。有効にする方法については、次のリンクを参照してください: http://devzone.zend.com/97/xml_rpc-client/#Heading9

于 2012-12-20T12:13:50.823 に答える