グループに対する他の操作の例

構成Webサービスの操作を使用して、グループのキー、名前および標準属性の数を含む、グループのサマリーを取得できます。また、特定のグループ内の多数の属性を取得したり、グループをインポート、エクスポートおよび更新することもできます(ただし、これらの操作は主にStudioを通じて使用されます)。

グループ・サマリー情報の取得

listGroup操作では、Endecaデータ・ドメインで現在定義されている属性グループに関するサマリー情報が返されます。グループ・サマリー情報は、次のもので構成されます。

  • NCName書式を使用する、グループの名前(key属性)。
  • NCName以外の書式を使用する、グループの表示名(displayName属性)。この名前は通常、ユーザーフレンドリな書式が必要であるフロントエンドでの表示に使用されます。
  • グループのメンバーである標準属性の数(cardinality属性)。メンバー標準属性の名前はリストされないことに注意してください。
listGroup操作に引数はありません。次に例を示します。
<soapenv:Envelope 
   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:ns="http://www.endeca.com/MDEX/config/services/types/3/0" 
   xmlns:ns1="http://www.endeca.com/MDEX/config/XQuery/2009/09">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:configTransaction>
         <ns:listGroups/>
      </ns:configTransaction>
   </soapenv:Body>
</soapenv:Envelope>
レスポンスは、次の例のようになります。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <config-types:results xmlns:config-types="http://www.endeca.com/MDEX/config/services/types/3/0">
         <groupSummaries xmlns="http://www.endeca.com/MDEX/config/XQuery/2009/09">
            <groupSummary key="Channels" cardinality="6" displayName="Channels"/>
            <groupSummary key="Countries" cardinality="10" displayName="Countries"/>
            <groupSummary key="Customers" cardinality="30" displayName="Customers"/>
            <groupSummary key="Products" cardinality="22" displayName="Products"/>
            <groupSummary key="Promotions" cardinality="11" displayName="Promotions"/>
            <groupSummary key="Sales" cardinality="16" displayName="Sales"/>
            <groupSummary key="Times" cardinality="38" displayName="Times"/>
            <groupSummary key="system-navigation_InternalGroup" cardinality="54"/>
         </groupSummaries>
      </config-types:results>
   </soapenv:Body>
</soapenv:Envelope>

このグループ・サマリーの例では、7つのユーザー作成の属性グループ(ChannelsやProductsなど)が表示されています。system-navigation_InternalGroupというグループは、システムの初期属性のコレクションです(PDRの属性など)。

特定グループのメンバー属性の取得

getGroups操作では、次のリクエストの構造を使用して1つ以上の特定の属性に関する情報を取得できます。
<ns:getGroups>
   <ns1:groupSummary key="?" displayName="?" cardinality="?"/>
</ns:getGroups>
keyは、特定のグループの名前を示す唯一の必須属性です。名前では大文字と小文字が区別されることに注意してください。
たとえば、次のリクエストでは
<soapenv:Envelope 
   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:ns="http://www.endeca.com/MDEX/config/services/types/3/0" 
   xmlns:ns1="http://www.endeca.com/MDEX/config/XQuery/2009/09">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:configTransaction>
         <ns:getGroups>
            <ns1:groupSummary key="Channels"/>
         </ns:getGroups>
      </ns:configTransaction>
   </soapenv:Body>
</soapenv:Envelope>
Channels属性グループに関する次の情報が返されます。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <config-types:results xmlns:config-types="http://www.endeca.com/MDEX/config/services/types/3/0">
         <groups xmlns="http://www.endeca.com/MDEX/config/XQuery/2009/09">
            <group key="Channels" displayName="Channels">
               <mdex-property_Key type="mdex:string" xmlns="">CHANNEL_CLASS</mdex-property_Key>
               <mdex-property_Key type="mdex:string" xmlns="">CHANNEL_CLASS_ID</mdex-property_Key>
               <mdex-property_Key type="mdex:string" xmlns="">CHANNEL_DESC</mdex-property_Key>
               <mdex-property_Key type="mdex:string" xmlns="">CHANNEL_ID</mdex-property_Key>
               <mdex-property_Key type="mdex:string" xmlns="">CHANNEL_TOTAL</mdex-property_Key>
               <mdex-property_Key type="mdex:string" xmlns="">CHANNEL_TOTAL_ID</mdex-property_Key>
            </group>
         </groups>
      </config-types:results>
   </soapenv:Body>
</soapenv:Envelope>

グループに関する詳細情報の取得

exportGroups操作は、基本的にはlistGroup操作とgetGroups操作の組合せです。つまり、この操作では、属性グループのリストが各グループに関する詳細情報とともにgetGroupsの書式で返されます。system-navigation_InternalGroupはリストされますが、そのメンバー属性に関する詳細は提供されないことに注意してください。

exportGroupsの構文は次のとおりです。
<ns:configTransaction>
  <ns:exportGroups/>
</ns:configTransaction>

グループのインポート

importGroupsを利用するには、リクエストで次の構造を使用します。
<ns:importGroups>
   <ns1:group key="?" displayName="?">
      <mdex-property_Key>?</mdex-property_Key>
   </ns1:group>
</ns:importGroups>
ここでは、mdex-property_Keyはグループの主キーです。

このリクエストは、指定したグループを、名前が同じで属性リストが新しい別のグループで置き換えます。たとえば、既存のグループに3つの属性が含まれている場合に、importGroupsを使用して、2つの属性しか含まないグループでこのグループを置き換えることができます。含める属性のキーをimportGroupsリクエストに指定する必要があります。

グループ構成の更新

updateGroupConfigs操作では、グループ記述レコードに対する割当てが新しい割当てで置換されます。この操作の構文は次のとおりです。
<ns:updateGroupConfigs>
   <ns1:record>
      <system-group_DisplayName>?</system-group_DisplayName>
      <system-group_Key>?</system-group_Key>
   </ns1:record>
</ns:updateGroupConfigs>

更新するグループを示すsystem-group_Keyと、既存のグループに割当てが含まれない場合は、グループ記述レコード内のゼロ個以上の割当て(表示名の割当てなど)を指定します。

たとえば、グループsystem-navigation_InternalGroupは、どのユーザー指定グループにも属さないすべての属性を含むグループです。このグループは自動的に作成され、最初は表示名を持ちません。このグループに表示名Other attributesを指定するには、特定のデータ・ドメインで実行されている構成Webサービスに次のリクエストを送信します。
<config-service:updateGroupConfigs>
   <mdex:record>
     <system-group_DisplayName>Other Attributes</system-group_DisplayName>
     <system-group_Key>system-navigation_InternalGroup</system-group_Key>
   </mdex:record>
</config-service:updateGroupConfigs>