0

我正在尝试将我的应用程序与 Drupal 连接。它返回给我这个错误:“出了点问题 - -32602:服务器错误。方法参数数量错误。”。我认为它应该工作。

有人知道这里有什么问题吗?

我的代码:

set_time_limit(0);
require_once("IXR_Library.php");

// Create the client object
$client = new IXR_Client('http://localhost/drupal6/xmlrpc.php');
//$client->debug=true;
 $username = "admin"; 
 $password = "admin"; 
 $params = array(0,$username,$password,10); 


if (!$client->query('metaWeblog.getRecentPosts', $params)) {
    die('Something went wrong - '.$client->getErrorCode().' : '.$client->getErrorMessage());
}

$myresponse = $client->getResponse();
4

1 回答 1

0

您从与之通信的 XMLRPC 端点收到错误消息(故障代码互操作性规范,版本 20010516) 。

这是一个定义的错误代码:

-32602 ---> server error. invalid method parameters

服务器找到了您请求的 RPC 方法,但您向其传递了无效参数。请联系您使用的服务的支持人员以获取所有可用方法的列表。如果您的参数应该可用,请联系支持人员并与他们讨论问题。

在您的情况下,请仔细检查 Drupal 手册告诉您的有关metaWeblog.getRecentPostsXMLRPC Method blogapi_xmlrpc Drupal API的内容:

array(
  'metaWeblog.getRecentPosts',
  'blogapi_metaweblog_get_recent_posts',
  array('array', 'string', 'string', 'string', 'int'),
  t('Returns a list of the most recent posts in the system.'),
),

如果文档不足,请从 Drupal 的源代码中查找缺失的部分。

例如,第一个参数需要是一个字符串,但您在0这里使用整数。

有关如何使用 XMLRPC Introspection 的更多信息,请参阅相关问题/答案:XMLRPC 显示 -32601 错误(使用 PHP)

我不知道 drupal 是否支持 XMLRPC Introspection,但看起来确实如此。

于 2012-06-01T20:01:09.890 回答