EIS バインディングは、ペイロードに付随する明確に定義された子データ・オブジェクトを使用することによって指定された InteractionSpec および ConnectionSpec に対する入力を受け入れることができます。これにより、InteractionSpec を介した リソース・アダプターとの動的要求応答対話と、ConnectionSpec を介した コンポーネント認証が可能になります。
javax.cci.InteractionSpec は、リソース・アダプターとの 対話要求の処理方法に関する情報を保持します。また、要求後に 対話を行う方法に関する情報も保持します。対話によるこれらの両方向通信は、会話とも呼ばれます。
この例ではインターフェースによって、操作の入力は「Account」データ・オブジェクトと指定されます。このインターフェースは、値が xyz である workingSet という動的 InteractionSpec プロパティーを送受信するために、EIS インポート・バインディング・アプリケーションを呼び出します。
BOFactory dataFactory = (BOFactory) ¥ serviceManager.locateService("com/ibm/websphere/bo/BOFactory"); //Wrapper for doc-lit wrapped style interfaces, //skip to payload for non doc-lit DataObject docLitWrapper = dataFactory.createByElement / ("http://mytest/eis/Account", "AccountWrapper");ペイロードを作成します。
DataObject account = docLitWrapper.createDataObject(0); DataObject accountInfo = account.createDataObject("AccountInfo"); //Perform your setting up of payload //Construct properties data for dynamic interaction DataObject properties = account.createDataObject("properties");名前 workingSet に対して予想される値 (xyz) を設定します。
properties.setString("ISworkingSet", "xyz"); //Invoke the service with argument Service accountImport = (Service) ¥ serviceManager.locateService("AccountOutbound"); DataObject result = accountImport.invoke("createAccount", docLitWrapper); //Get returned property DataObject retProperties = result.getDataObject("properties"); String workingset = retProperties.getString("ISworkingSet");ConnectionSpec プロパティーは動的 コンポーネント認証に使用できます。上記と同じ規則が適用されます。ただし、プロパティー名のプレフィックスは CS にする必要があります (IS ではありません)。ConnectionSpec プロパティーは 両方向ではありません。同じ properties データ・オブジェクトに IS プロパティーと CS プロパティーの 両方を入れることができます。
ConnectionSpec プロパティーを使用するには、 インポート・バインディングで指定する resAuth を「Application」に設定します。 また、リソース・アダプターがコンポーネント許可をサポートする必要があります。詳しくは、J2EE Connector Architecture Specification の第 8 章を参照してください。