Red Hat Training
A Red Hat training course is available for Red Hat Satellite
1.2. XML-RPC を使った Red Hat Satellite API
XML-RPC は HTTP を使って XML でエンコードされたリクエストをサーバーに送信します。リクエストには以下のものが含まれます。
- 名前空間
- 名前空間は、特定の関数、オブジェクト、またはリソースに基づくメソッドをグループ化したものです。たとえば、
auth
名前空間では認証関数をグループ化しており、errata
名前空間ではエラータを制御する関数をグループ化しています。 - メソッド
- メソッドは、特定のアクションを表します。各メソッドは、Red Hat Satellite の特定関数を制御します。たとえば、
auth
名前空間内のlogin
メソッドは、ユーザーを Red Hat Satellite にログインさせて、セッションキーを返します。 - パラメーター
- パラメーターは、メソッドの特定の側面を制御するための入力です。たとえば、たとえば、
auth
名前空間内のlogin
メソッドで特定ユーザーのログイン詳細を特定するには、username
とpassword
というパラメーターが必要になります。login
メソッドではオプションのduration
パラメーターを使って、ユーザーのセッションが終了するまでの時間を特定することもできます。
XML でエンコードされたリクエストは通常、以下のような構造になります。
<methodCall> <methodName>namespace.method</methodName> <params> <param> <value><name>parameter</name></value> </param> <param> <value><name>parameter</name></value> </param> ... </params> </methodCall>
たとえば、API にログインして認証用にセッションキーを要求するには、以下の XML-RPC リクエストを使用します。
<methodCall> <methodName>auth.login</methodName> <params> <param> <value><username>admin</username></value> </param> <param> <value><password>p@55w0rd!</password></value> </param> </params> </methodCall>
この例では、リクエストが
username
と password
をパラメーターとして login
メソッドに送信します。このメソッドは auth
名前空間の一部になります。Satellite サーバーは以下の応答を返します。
<methodResponse> <params> <param> <value><sessionKey>83d8b35f</sessionKey></value> </param> </params> </methodResponse>
この応答には、
sessionKey
に返されたパラメーターが含まれており、このキーを使ってほとんどの API メソッドを認証します。
ほとんどのプログラミング言語には XML-RPC モジュールおよびライブラリーが含まれており、これらが自動的に使用されるメソッドとパラメーターを XML でエンコードされたリクエストに解析し、その応答を返された変数として解析します。例については、2章例 を参照してください。
XML-RPC についての詳細情報は、http://www.xmlrpc.com/ を参照してください。