2

C プロジェクトの XMLRPC クライアントとして xmlrpc-c を使用しています。質問は、次のパラメータをリモート プロシージャ コールに渡す方法です。

string1, int1, string2, int2, struct (name : age), string3

xmlrpc コマンドの cmdline ツールは次のとおりです。
xmlrpc http://www.oreillynet.com/meerkat/xml-rpc/server.php meerkat.getItems struct/{search:linux,descriptions:i/76,time_period:12hour}

コードで同様のパラメーターを渡したいです。

4

3 に答える 3

2

ここで私は解決策を見つけました....ふう....

xmlrpc_value *result, *params, *form_value;
xmlrpc_value *form2send;

form2send = xmlrpc_struct_new(env); // initialize the new structure
form_value = xmlrpc_build_value(env, "s", "");  // convert emtpy_string to xmlrpc_string
xmlrpc_struct_set_value(env, form2send, form_key, form_value);  // set key/value in structure

params = xmlrpc_build_value(env, "(sisS)", database, uid, password, form2send); // Capital `S` Denotes Structure 
fault_occurred(env, oo_plugin);
于 2010-11-10T17:30:27.067 に答える
0

できないと思うので、構造体を個別の型付きパラメーターに分解してから、反対側の構造体を再構築する必要があります。

于 2010-11-02T18:57:38.533 に答える
0

構成された構造体/配列構造を使用できます。主な構造は、データを保持する配列になります。それらのいくつかは、構造のように構成されていました。ただし、受信側でハッシュ テーブルを再構成する必要があります。ワイヤー内のデータは次のようになります。

<array>
<data>
<value><string>string</string></value>
<value><struct><member><name>name</name></member><member><name>age</name>...
...
于 2010-11-02T19:05:00.153 に答える