DDEditor から FML を読み込んで、その FML からデータディクショナリを作成します。
DDEditor から FML が読み込まれるとき、次の API が呼び出されます。 public DataDictionary getDataDictiomaryFromFML2(String dataDictionaryName, String fml, String topLevelElementName, String serviceName, String operationName)
この API は、次のパラメーターを取ります。 最上位のルート要素名:FML 内の複数のルートノードからルートノードを選択します。
サービス名:FML で定義された複数のサービスから呼び出されたサービスを選択します。定義されているサービスが 1 つだけの場合、このパラメーターはオプションになります。
操作名:選択されたサービスで定義された複数の関数から呼び出された操作名を選択します。
この読み込みにより、リモートサービス(LiveCycle リモートエンドポイントおよび宛先)の詳細が取得され、データディクショナリに保存されます。この詳細情報はサービスレベル注釈にあり、リモートサービスへの接続に使用されます。リモートサービスで定義されている関数は複数ある可能性がありますが、データディクショナリサービスには、1 つの関数の詳細しか保存されません。そして、この操作を呼び出して、Java オブジェクトを取得します。「操作名」では、操作/関数の名前を判断します。この操作の入力パラメーターの詳細も、データディクショナリに保存されます。前述した API の「最上位のルート要素名」パラメーターは、(複数の最上位エンティティ内の)最上位エンティティで使用されます。ルートレベルのタグエンティティが 1 つしか含まれない場合は、この情報を渡す処理は必須ではありません。空白または null を選択することができます。
この API は、Data Dictionary 構築ブロックからの FML の読み込み、および Flash Builder から取得されれた FML の読み込みをサポートします。このシナリオに基づいて、次の 2 つが状況が考えられます。
実行時フェーズで、Data Dictionary 構築ブロックは、データディクショナリに保存されたサービスの詳細を使用して、リモートサービスに接続します。 public DataDictionaryInstance getDDIFromRemotingService(String dataDictionaryId, Object[] remotingServiceOperationParams)
|
|
|