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

Your 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 に答える
0

次のように応答配列をループできます(テスト用):

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

または、特定のキーと値のペアが必要な場合。

于 2012-08-29T07:55:49.117 に答える