Я скачал phpxmlrpc с http://phpxmlrpc.sourceforge.net/
У меня на веб-сервере есть папка с именем xmlrpc-test, и у меня создано простое тестовое приложение php.
<?php
include 'xmlrpc.inc';
include 'xmlrpcs.inc';
function sumAndDifference ($params) {
// Parse our parameters.
$xval = $params->getParam(0);
$x = $xval->scalarval();
$yval = $params->getParam(1);
$y = $yval->scalarval();
// Build our response.
$struct = array('sum' => new xmlrpcval($x + $y, 'int'),
'difference' => new xmlrpcval($x - $y, 'int'));
return new xmlrpcresp(new xmlrpcval($struct, 'struct'));
}
// Declare our signature and provide some documentation.
// (The PHP server supports remote introspection. Nifty!)
$sumAndDifference_sig = array(array('struct', 'int', 'int'));
$sumAndDifference_doc = 'Add and subtract two numbers';
new xmlrpc_server(array('sample.sumAndDifference' =>
array('function' => 'sumAndDifference',
'signature' => $sumAndDifference_sig,
'docstring' => $sumAndDifference_doc)));
?>
Я загрузилОтладчик phpxmlrpc ввел адрес :, порт: и путь: но когда я нажимаю кнопку выполнения для List available methods
, ничего не происходит.
Вопрос 1 : почему мой локальный отладчик не работает?
Итак, я зашел сюда http://phpxmlrpc.sourceforge.net/jsxmlrpc/debugger/debugger.html, и, похоже, он работает лучше.
Однако, когда я нажимаю здесь кнопку «Выполнить» (после ввода данных моего сервера), я получаю следующеесообщение.
Код ошибки: [5] Причина: «Не получено 200 OK с удаленного сервера.(отправка не удалась) '
Я подумал, что это могло означать, что что-то не так с моим локальным сервером и глобальной сетью, поэтому я протестировал приложение на http://feedvalidator.org/, и я действительно получилответ.
1. <?xml version="1.0"?>
2. <methodResponse>
3. <fault>
4. <value>
5. <struct><member><name>faultCode</name>
6. <value><int>105</int></value>
7. </member>
8. <member>
9. <name>faultString</name>
10. <value><string>XML error: Invalid document end at line 1, column 1</string></value>
11. </member>
12. </struct>
13. </value>
14. </fault>
15. </methodResponse>
Я думаю, что это ошибка, потому что не передается полезная нагрузка.
Вопрос 2: Как мне решить эту проблему?Как мне получить очень простой сервер xmlrpc, работающий с php?