いままで、「いもうとデスクトップ」AJAX版について、やってきたわけなんですけど、仕様変更して、受け渡しデータの形式を、XML-RPCに準拠しようかと思うんです。
で、XML-RPCの仕様はこちら
XML-RPC Specification
http://www.xmlrpc.com/spec
これにもとづくと、送る命令は、こんなかんじになる
<?xml version="1.0"?> <methodCall> <methodName>imoto.doJob</methodName> <params> <param> <struct> <member> <name>userName</name> <value><string>ユーザー名</string></value> </member> <member> <name>password</name> <value><string>パスワード</string></value> </member> <member> <name>serverName</name> <value><string>命令を行うサーバーの名前・IP</string></value> </member> <member> <name>commandLine</name> <value><string>実行する命令(DIRなど)</string></value> </member> </struct> </param> </params> </methodCall> |
(上記< > ¥は、本当は半角です)
で、この命令を受けて、実施結果を返す場合、正常なら
こうなる
<?xml version="1.0"?> <methodResponse> <params> <param> <value><string>処理結果</string></value> </param> </params> </methodResponse> |
(上記< > ¥は、本当は半角です)
なお、処理結果のところは、実際には、結果に<>(半角)が入るので、ここは、
<![CDATA[ 実際に送りたい処理結果 ]]>
として、送る (YouTubeのRSSが、このように送っている)か
この結果の部分をなにかの形でエンコードするかは、思案中
失敗のときは、こうなる
<?xml version="1.0"?> <methodResponse> <fault> <value> <struct> <member> <name>faultCode</name> <value><int>9999</int></value> </member> <member> <name>faultString</name> <value><string>エラーメッセージ</string></value> </member> </struct> </value> </fault> </methodResponse> |
(上記< > ¥は、本当は半角です)
9999のところは、実際のエラーコードが入ります。
ってすると、サーバーCGIも修正しなきゃ