Получение & quot; ошибки & quot; = & gt; & lt; Array & quot; ответ массива от Python JSON-сервера и PHP-клиента

Я написал простой JSON RPC-сервер на Python в качестве интерфейса к программе на Python. Сервер работает нормально, когда я использую curl для ручного создания запросов JSON с него. Когда я использую библиотеку JSON отсюда: http://jsonrpcphp.org/ Я просто получаю ответ об ошибке «Array» в ответ.

Я не совсем уверен, что я делаю неправильно, потому что я протестировал сервер, и он работает, когда я не использую библиотеку PHP.

Я проверил, и тип контента установлен на «application / json».

Вот код PHP:

$server= new jsonRPCClient("http://$serveraddress:$port");try {
echo($server->do_stop());
} catch (Exception $e) {
echo "caught exception: ", $e->getMessage() ,"<br />";
}

РЕДАКТИРОВАТЬ:

Вот print_r объекта $ server (у localhost должен быть http: // перед ним, но я не могу его вставить):

jsonRPCClient Object ( [debug:jsonRPCClient:private] => [url:jsonRPCClient:private] => localhost:3000[id:jsonRPCClient:private] => 1 [notification:jsonRPCClient:private] => [proxy] => )

do_stop () просто вызывает исключение
«Ошибка запроса: массив»

EDIT2:
Решил проблему, оказалось, что я запрашивал неправильный метод. Я забыл, что я изменил имя, чтобы остановить ().

Логические ошибки …

-1

Решение

создайте объект ur, установив для флага отладки значение true

 $server= new jsonRPCClient("http://$serveraddress:$port", true);

читать исходный код клиента json rpc, похоже, ошибка исходит от вашего сервера:

    // final checks and return
if (!$this->notification) {
// check
if ($response['id'] != $currentId) {
throw new Exception('Incorrect response id (request id: '.$currentId.', response id: '.$response['id'].')');
}
if (!is_null($response['error'])) {
throw new Exception('Request error: '.$response['error']);
}

return $response['result'];

} else {
return true;
}
1

Другие решения

Других решений пока нет …