Вы получаете сообщение об ошибке (Спецификация совместимости кода неисправности, версия 20010516) от конечной точки XMLRPC, с которой вы общаетесь.
Это определенный код ошибки:
-32601 ---> server error. requested method not found
Запрошенный вами метод RPC не найден сервером. Обратитесь в службу поддержки службы, которую вы используете, чтобы получить список всех доступных методов. Если этот метод должен быть доступен, обратитесь в службу поддержки и обсудите с ними проблему.
Вы спросили в комментарии:
Есть ли способ [проверить], какие методы доступны?
Это зависит от службы. В XMLRPC на sourceforge есть предложения по определенным методам, которые вы можете вызвать для получения информации о доступных функциях:
Самоанализ XML-RPC
system.listMethods
system.methodSignature
system.methodHelp
Вы также можете попробовать, если он работает с вашим сервисом. AFAIK это обычные, я подвел краткий пример, вы найдете полный код ниже. См. Также вывод под кодом.
$path = 'http://xmlrpc-c.sourceforge.net/api/sample.php';
printf("\n XMLRPC Service Discovery\n\n for: '%s'\n\n", $path);
$discovery = new Discovery($path);
$methods = $discovery->getMethods();
printf(" Method Summary:\n ===============\n", count($methods));
foreach ($methods as $i => $method)
{
printf(" %'.-2d %s\n", $i + 1, $method->getName());
}
printf("\n Method Details (%d):\n ===================\n", count($methods));
foreach ($methods as $i => $method)
{
printf(" %'.-2d %s\n", $i + 1, $method->getName());
printf("\n %s\n", $method);
printf("\n%s\n\n", preg_replace('/^/um', ' ', wordwrap($method->getHelp(), 46)));
}
Выход:
XMLRPC Service Discovery
for: 'http://xmlrpc-c.sourceforge.net/api/sample.php'
Method Summary:
===============
1. debug.authInfo
2. sample.add
3. sample.sumAndDifference
4. system.listMethods
5. system.methodHelp
6. system.methodSignature
Method Details (6):
===================
1. debug.authInfo
<struct> debug.authInfo
Report any HTTP authentication in use
2. sample.add
<int> sample.add (<int>, <int>)
Add two numbers
3. sample.sumAndDifference
<struct> sample.sumAndDifference (<int>, <int>)
Add and subtract two numbers
4. system.listMethods
<array> system.listMethods (<string>)
This method lists all the methods that the
XML-RPC server knows how to dispatch
5. system.methodHelp
<string> system.methodHelp (<string>)
Returns help text if defined for the method
passed, otherwise returns an empty string
6. system.methodSignature
<array> system.methodSignature (<string>)
Returns an array of known signatures (an array
of arrays) for the method name passed. If no
signatures are known, returns a none-array
(test for type != array to detect missing
signature)
Вы можете найти исходный код здесь: Служба обнаружения XMLRPC