Sun Identity Manager 8.1 リソースリファレンス

リソースアクションの指定

スクリプトホストアダプタのリソースウィザードの「リソースパラメータ」ページに表示されるテキストボックスで、ログイン、作成、削除、繰り返しなどのさまざまなプロビジョニングアクションにリソースアクションを指定できます。これらのフィールドは、リポジトリに読み込まれる Rhino Javascript を格納する ResourceAction オブジェクトを参照します。

Procedure実行時に、アダプタは次の処理を行います。

  1. 現在のプロビジョニングアクションに対応する ResourceAction から Javascript を読み込む。

  2. 必要な Java 入力オブジェクトを Javascript で利用できるように準備する。

  3. Javascript を起動する。

  4. Javascript から返された結果 (または例外やエラー) を処理する。

    $WSHOME/sample/ScriptedHost/ScreenSampleActions.xml ファイルには、理論上のスクリーンベースのホストアプリケーションにユーザーをプロビジョニングするのに使用できる、リソースアクション定義のサンプルセットが格納されています。それらの定義を、アプリケーションに合わせてカスタマイズする必要があります。

    スクリプトホストアダプタは、次のプロビジョニングアクションに関するエンドユーザーのスクリプティングをサポートします。

    アクション

    説明

    必須であるか

    create 

    新しいユーザーを作成します。 

    省略可能。 ただし、指定されていない場合は、ユーザーを作成できません。 

    delete 

    既存のユーザーを削除します。 

    省略可能。 ただし、指定されていない場合は、ユーザーを削除できません。 

    disable 

    既存のユーザーを無効にします。 

    省略可能。 ただし、指定されていない場合は、ユーザーを無効にできません。 

    enable 

    既存のユーザーを有効にします。 

    省略可能。 ただし、指定されていない場合は、ユーザーを有効にできません。 

    getAccountIterator 

    既存ユーザーの繰り返しの実行に使用されるオブジェクトを返します。 

    省略可能。 ただし、getAccountIterator も listAll も指定されていない場合は、アカウントの反復処理を実行できません。 

    getUser 

    既存ユーザーの属性を取得します。 

    はい。 

    login 

    アプリケーションにログインします。 

    はい。 

    logoff 

    アプリケーションからログオフします。 

    はい。 

    listAll 

    既存ユーザー ID のリストを返します。 

    省略可能。 ただし、getAccountIterator も listAll も指定されていない場合は、アカウントの反復処理を実行できません。 

    update 

    既存ユーザーの属性を更新します。 

    省略可能。 ただし、指定されていない場合は、ユーザーを更新できません。 

    どのアクションスクリプトも、java.util.Map クラスで定義されているように、actionContext マップを受け取ります。マップに格納できる内容は、アクションごとに異なります。次のそれぞれの節では、各アクションについ説明し、そのアクションに関する次の情報を示します。

    • コンテキスト。スクリプトの実行前にアダプタが Javascript 実行コンテキストに追加する actionContext マップで使用できる、一連のエントリについて説明します。

    • エラー処理。異常やエラーの状況を、スクリプトがどのように処理するかを説明します。

    前の表に示されたアクションの詳細については、次の各項を参照してください。

create アクション

create アクションは、ホストアプリケーションにユーザーを作成します。create アクションが定義されていない場合は、新しいユーザーをホストアプリケーションに追加できません。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

adapter

com.waveset.object.ScriptedHostResourceAdapter 

アダプタインスタンス。 

action

java.lang.String 

create」という文字列。

id

java.lang.String 

作成するユーザーのアカウント ID。 

password

java.lang.String 

存在する場合、これは新しいユーザーの復号化されたパスワードです。 

attributes

java.lang.Map 

新しいユーザーに設定する属性のマップ。キーは、設定する属性を識別します。 値は、その属性に設定する復号化された値です。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、作成の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、作成の失敗とみなされます。

delete アクション

delete アクションは、指定したユーザーをホストアプリケーションから削除します。delete アクションが定義されていない場合は、ホストアプリケーションからユーザーを削除できません。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

id

java.lang.String 

削除するユーザーのアカウント ID。 

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

adapter

com.waveset.object.ScriptedHostResourceAdapter 

アダプタインスタンス 

action

java.lang.String 

delete」という文字列。

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、削除の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、削除の失敗とみなされます。

disable アクション

disable アクションは、ホストアプリケーション内の既存のユーザーを無効にします。このアクションが定義されていない場合は、ホストアプリケーションのユーザーを無効にできません。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

action

java.lang.String 

disable」という文字列。

id

java.lang.String 

無効にするアカウント ID。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、無効化の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、無効化の失敗とみなされます。

enable アクション

enable アクションは、ホストアプリケーション内の既存のユーザーを有効にします。このアクションが定義されていない場合は、ホストアプリケーションのユーザーを有効にできません。

コンテキスト

actionContext マップには次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

action

java.lang.String 

enable」という文字列。

id

java.lang.String 

有効にするアカウント ID。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、有効化の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、有効化の失敗とみなされます。

getAccountIterator アクション

getAccountIterator アクションは、既存ユーザーの反復処理の実行に使用するオブジェクトを返します。

アカウントの反復処理 (調整、リソースから読み込み) を実行する場合は、このアクションか listAll アクションのいずれかを定義する必要があります。

getAccountIterator アクションが定義されていない場合は、listAll を呼び出してから listAll のリスト内の ID ごとに getUser を呼び出すことによって、アカウントの反復処理が実行されます。

getAccountIterator アクションが定義されておらず、listAll アクションも定義されていない場合は、アカウントの反復処理はサポートされません。

入力値

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

adapter

com.waveset.object.ScriptedHostResourceAdapter 

アダプタインスタンス 

action

java.lang.String 

getAccountIterator」という文字列。

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

戻り値

スクリプトは、Java インタフェースの com.waveset.adapter.ScriptedHostAccessAdapter.ObjectIterator を実装する Java オブジェクトを返します。

public interface ObjectIterator {
    public boolean hasNext();
   public void next(java.util.Map nextObj);
    public void close();
}

next() メソッドの nextObj マップ引数は、getUser アクションで説明されている result エントリと同じ方法で、スクリプトによって指定されます。

エラー処理

スクリプト内から例外がスローされた場合は、繰り返しの失敗とみなされます。

スクリプトから返された Java オブジェクトでメソッドを呼び出しているときに例外のスローが発生した場合も、繰り返しの失敗とみなされます。

getUser アクション

getUser アクションは、ホストアプリケーションから次のいずれかの情報を取得します。

getUser アクションは、必ず定義してください。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

adapter

com.waveset.object.ScriptedHostResourceAdapter 

アダプタインスタンス 

action

java.lang.String 

getUser」という文字列。

attrsToGet

java.util.List 

取得するユーザー属性を識別する文字列のリスト。このリストは、スキーママップの右側から取得されます。 

id

java.lang.String 

取得するユーザーのアカウント ID。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

result

java.util.Map 

スクリプトは、マップにエントリを追加して、ユーザー属性を返します。後述のエントリテーブルを参照してください。 

result マップには、スクリプトによって次のエントリが入力される必要があります。

キー  

値の型  

値の説明  

text

String 

ユーザー属性に解析されるテキストを含みます。1 つ以上の画面または応答の内容であることもあります。 

あとで、このマップの attrParse エントリで指定された AttrParse オブジェクトを使用して、この文字列からユーザー属性が抽出されます。一致するユーザーが見つからない場合は、このエントリをマップに入れないでください。

このフィールドをマップに追加しないでください。代わりに attrMap マップを入力します。

attrParse

String 

このマップの text エントリの文字列からユーザー属性を解析するためにアダプタが使用する AttrParse オブジェクトの名前。このエントリは、常に text エントリと一緒に設定します。

attrMap

java.util.Map 

スクリプトがユーザー属性を直接取得できる場合は、ユーザー属性のマップでこのエントリを設定できます。この attrMap エントリは、このマップの text エントリが存在しない場合にのみ適用されます。

エラー処理

一致するユーザーが見つからない場合、result マップは空のままにするようにしてください。

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、取得の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、取得の失敗とみなされます。

listAll アクション

listAll アクションは、ホストアプリケーションで見つかったユーザー ID のリストを取得します。

listAll アクションが定義されていない場合は、このリソースインスタンスの FormUtil.listResourceObjects メソッドをフォームから呼び出すことはできません。

listAll アクションと getAccountIterator アクションのどちらも定義されていない場合、アカウントの反復処理 (調整、リソースから読み込み) はサポートされません。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

adapter

com.waveset.object.ScriptedHostResourceAdapter 

アダプタインスタンス 

action

java.lang.String 

listAll」という文字列。

resultList

java.util.List 

スクリプトがこのリストにエントリを追加します。スクリプトがリストに追加する各項目は、ホストアカウント ID に対応する文字列です。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、取得の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、取得の失敗とみなされます。

login アクション

login アクションは、カスタムホストアプリケーションのユーザーを管理するために必要なホストと、認証されたセッションのネゴシエーションを行います。このアクションは、必ず定義してください。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

action

java.lang.String 

login」という文字列。

ユーザー

java.lang.String 

ホストアプリケーション管理ユーザーのユーザー名。 

password

com.waveset.util.EncryptedData 

ホストアプリケーション管理ユーザーのパスワードを格納する暗号化されたオブジェクト。プレーンテキストに変換するには、decryptToString() を使用します。

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、ログインの失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、ログインの失敗とみなされます。

logoff アクション

logoff アクションは、ホストからの切断を実行します。これは、接続が不要になった場合に呼び出されます。このアクションは、必ず定義してください。

コンテキスト

actionContext マップには次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

action

java.lang.String 

logoff」という文字列。

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、ログオフの失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、ログオフの失敗とみなされます。

update アクション

update アクションは、ホストアプリケーションのユーザーを更新します。update アクションが定義されていない場合は、ホストアプリケーションのユーザーを更新できません。

コンテキスト

actionContext マップには、次のエントリが含まれます。

キー  

値の型  

値の説明  

hostAccess

com.waveset.adapter.HostAccess 

メインフレームへの 3270 エミュレーションアクセスを提供します。 

adapter

com.waveset.object.ScriptedHostResourceAdapter 

アダプタインスタンス 

action

java.lang.String 

update」という文字列。

id

java.lang.String 

変更するユーザーのアカウント ID。 

password

java.lang.String 

存在する場合、これはユーザーの新しい復号化されたパスワードです。 

attributes

java.lang.Map 

既存のユーザーで更新する属性のマップ。キーは、設定する属性を識別します。 値は、その属性に設定する復号化された値です。 

errors

java.util.List 

これは、最初は空のリストです。処理中にエラーが発生した場合にスクリプトがこのリストに java.lang.String オブジェクトを追加するように設定する必要があります。 

trace

com.waveset.adapter.Trace 

実行のトレースに使用されるオブジェクト。スクリプトは、このクラスのメソッドを使用することで、顧客の環境でデバッグ可能なものとなります。 

エラー処理

アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。

errors リストに項目が存在する場合は、更新の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、更新の失敗とみなされます。