リストA-1には、ATMIバインディングの要素(<binding.atmi>)がどのように定義されているかを示します。これは、文法の使用方法と有効なパラメータを示すための擬似スキーマです。
注意: <binding.atmi>要素を使用する場合は、/reference/@name(または/service/@name)とメソッド名の長さの合計を、Tuxedoサービス名の最大長(Tuxedoのリリースによって異なる)以下にする必要があります。この制限を回避する方法については、</binding.atmi/map>を参照してください。<map target="name">...</map>*
<serviceType target="name">...</serviceType>*
<inputBufferType target="name">...</inputBufferType>*
<outputBufferType target="name">...</outputBufferType>*
<errorBufferType target="name">...</errorBufferType>*
<workStationParameters>?
<networkAddress>...</networkAddress>?
<secPrincipalName>...</secPrincipalName>?
<secPrincipalLocation>...</secPrincipalLocation>?
<secPrincipalPassId>...</secPrincipalPassId>?
<encryptBits>...</encryptBits>?
</workStationParameters>
<authentication>?
<userName>...</userName>?
<clientName>...</clientName>?
<groupName>...</groupName>?
<passwordIdentifier>...</passwordIdentifier>?
<userPasswordIdentifier>...
</userPasswordIdentifier>?
</authentication>
<fieldTablesLocation>...</fieldTablesLocation>?
<fieldTables>...</fieldTables>?
<fieldTablesLocation32>...</fieldTablesLocation32>?
<fieldTables32>...</fieldTables32>?
<viewFilesLocation>...</viewFilesLocation>?
<viewFiles>...</viewFiles>?
<viewFilesLocation32>...</viewFilesLocation32>?
<viewFiles32>...</viewFiles32>?
<remoteAccess>...</remoteAccess>?
<transaction timeout="xsd:long"/>?
</binding.atmi>
• この属性にlegacy値を使用すると、既存のTuxedoサービスとの相互運用を実現できます。指定しない場合、通信にはSCA間のセマンティクスを使用するものとみなされ、/binding.atmi/map要素が定義されている場合を除き、実際のTuxedoサービス名は/service/@nameまたは/reference/@nameと実際のメソッド名から構成されます(リストA-1を参照)。この属性にlegacy値を指定し、呼び出されたメソッドに/binding.atmi/map要素が定義されていない場合、実行時の動作は次のようになります。
•
•
•
• このような動作は、UBBCONFIGファイルで<service>要素をAUTOTRANに構成することで、コンポーネントまたはコンポジット内で取得できます。TuxedoサーバーがSCAコンポーネントの実装をホストしており、UBBCONFIGファイルでトランザクション・グループに構成されていない場合は、エラーが生成されます。クライアントのみのプロセスにおいて、/binding.atmi/workstationParametersが設定されていない場合に、<reference>要素内で使用します。この属性は、プロセスを追加する必要があるTuxedoアプリケーションを示します。1つのプロセスを複数のアプリケーションに追加したり、アプリケーションを再起動なしで切り替えることも可能です。<reference>要素の場合の</binding.atmi/map>は、/binding.atmi/map/@target値に対応する呼出しの実行時に使用する必要があるTuxedoサービス名を提供します。この値は、呼び出されるメソッドの名前になります。/binding.atmi/map要素が存在する場合は、Tuxedoサービス名をマッピングする他のいかなるサービスやメソッドのフォームよりも優先されます。</binding.atmi/@requires>属性を参照してください。表A-1には、サポートされる値とそれに対応するTuxedoバッファ・タイプを示します。不正な値や構文が含まれていると、実行時に検出されて呼出しが失敗します。指定しない場合、デフォルト値STRINGが使用されます。
このアプリケーションを接続するワークステーション・リスナーのアドレスです。Tuxedoワークステーション・ソフトウェアで認識可能なすべてのアドレス形式を使用できます。もっとも一般的なアドレス形式は次のとおりです。必要に応じて複数のアドレスを指定できます。その場合は、WSNADDRのパス名のリストをカンマ区切りで指定します。接続が確立されるまで、それらのアドレスが順番に試行されます。アドレス・リストのメンバーは、どれでもパイプで区切られたネットワーク・アドレスのかっこ付きのグループとして指定することができます。例:これらのパラメータは、ワークステーション・クライアントでSSL接続が必要とされる場合に必要なパラメータを指定します。パスワードを別のファイルに格納し、コールバック・メカニズムを使用してアクセスできます。デフォルトのコールバックでは、scapasswordtoolコマンドを使用して管理するpassword.storeファイルを使用します。詳細は、SALTの『プログラミング・ガイド』を参照してください。クライアント接続がネゴシエートを試みる暗号化の強度を指定します。形式は<minencryptbits>/<maxencprytbits>で、値には数値を指定します(たとえば128/128)。無効な値を指定すると、構成例外が発生します。有効な値は、0(暗号化を使用しない場合)、または40、56、128、256(指定した数値が暗号化キー内の有効ビットの数である場合)です。参照タイプの呼出しで、Tuxedoアプリケーションとの接続の確立に使用するセキュリティ・パラメータを指定します。次の値は、それぞれTPINFO構造要素usrname、cltname、grpname、およびpasswdに対応します(詳細は、『Oracle Tuxedo ATMI C言語関数リファレンス』の「tpinit(3c)」を参照してください)。パスワードはクリア・テキストでは保存されませんが、識別子を使用してルックアップされます。パスワードの取得にはコールバック関数を使用できます。詳細は、Oracle Tuxedoリファレンス・ガイドのsetSCAPasswordCallback()を参照してください。パスワードは、デフォルトでは/reference/binding.atmi/authentication/passwordIdentifierまたは/reference/binding.atmi/authentication/userPasswordIdentifier要素と同じディレクトリにあるパスワード・ストア・ファイルに、暗号化された状態で保管されています。この識別子は、認証の実行時に必要に応じて読み込まれます。ローカル・ファイル・システム内で、フィールド表を検索するディレクトリを指定する省略可能な要素です。相対パスを指定した場合は、$APPDIRからの相対ディレクトリが検索されます。それ以外の場合は絶対パスとみなされます。/binding.atmi/bufferType値がFMLで、この要素が指定されていないか無効な場合(つまり、指定された表が見つからないか、見つかったものがフィールド表でない場合)は、クライアント・プロセスの初期化時かサーバー・プロセスの起動時にエラーが表示されます。ローカル・ファイル・システム内で、ビュー表を検索するディレクトリを指定する省略可能な要素です。相対パスを指定した場合は、$APPDIRからの相対ディレクトリが検索されます。それ以外の場合は絶対パスとみなされます。影響を受けるコンポーネントで使用するVIEWファイルを指定する省略可能な要素です。/binding.atmi/bufferType値がVIEWで、この要素が指定されていないか無効な場合(つまり、指定されたフィールドが見つからないか、見つかったものがビュー・ファイルでない場合)は、クライアント・プロセスの実行時かサーバー・プロセスの起動時にエラーが表示されます。
注意: