1.2. XML-RPC を使った Red Hat Satellite API

XML-RPC は HTTP を使って XML でエンコードされたリクエストをサーバーに送信します。リクエストには以下のものが含まれます。
名前空間
名前空間は、特定の関数、オブジェクト、またはリソースに基づくメソッドをグループ化したものです。たとえば、auth 名前空間では認証関数をグループ化しており、errata 名前空間ではエラータを制御する関数をグループ化しています。
メソッド
メソッドは、特定のアクションを表します。各メソッドは、Red Hat Satellite の特定関数を制御します。たとえば、auth 名前空間内の login メソッドは、ユーザーを Red Hat Satellite にログインさせて、セッションキーを返します。
パラメーター
パラメーターは、メソッドの特定の側面を制御するための入力です。たとえば、たとえば、auth 名前空間内の login メソッドで特定ユーザーのログイン詳細を特定するには、usernamepassword というパラメーターが必要になります。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>
この例では、リクエストが usernamepassword をパラメーターとして 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/ を参照してください。