0

我正在使用来自http://phpxmlrpc.sourceforge.net的 PHP XML RPC 类。我创建了一个客户端并将带有结构/数组的方法发送到服务器,我得到了一些响应,但我不知道如何处理响应以使用 foreach() 或直接获取响应值。

也许你们中的一些人可以帮助我?

我的代码:

include("../../lib/xmlrpc.inc");
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
$client=new xmlrpc_client("/xmlrpc.php", "www.domain.de", 443);
$client->setDebug(0);
$auth= new xmlrpcval(
    array(
    "username" => new xmlrpcval("user"),
    "password" => new xmlrpcval('pw'),
), "struct");

$search = new xmlrpcval(
    array(
    'EMAIL'=> new xmlrpcval('info@domain.de')
),'struct');

$message=new xmlrpcmsg('doProfileFindBy',
    array(
        $auth,
        new xmlrpcval(964296, "int"),
        $search

    ),'struct'
);

$r = $client->send($message, 0, 'https');
echo '<pre>';
var_dump($r);
echo '</pre>';

我确实收到了我正在寻找的数据的响应,但它没有格式化为将其用作数组左右。

希望有人可以帮助我。非常感谢!

4

2 回答 2

0

您可以像这样遍历响应数组(用于测试):

foreach($r as $key => $value)
{
  echo $key." : ".$value."<br>" ;
}

或者您需要任何特定的键值对。

于 2012-08-29T07:55:49.117 回答
0

根据您的 var_dump 和 XML RPC 类的文档http://phpxmlrpc.sourceforge.net/doc-2/ch07s04.html您应该执行以下操作:

$r = $client->send($message, 0, 'https');
$value = $r->value();

然后关于http://phpxmlrpc.sourceforge.net/doc-2/ch07.html和响应的结构你应该能够解析出你需要的值。您的响应的结构有点复杂,包含具有数组类型属性的对象,该属性包含另一个具有数组属性的对象,一次又一次,直到有值数组您可能想要解析出来......

于 2012-08-29T10:46:24.423 回答