WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

CORBA 操作のパラメーター

CORBA 操作には、サーバーによって変更可能なパラメーターを指定できます。

CORBA 操作には、in、out、および inout パラメーターを指定できます。 in および inout パラメーターは、CORBARequest ノードに移動する際の DataObject ドメインの下にあるツリーの外観を示します。 戻りの型、および inout と out パラメーターは、CORBARequest ノードから出るときのツリーの外観を示します。

インバウンド・メッセージは、エレメント interfaceName.operationName に含まれていて、それぞれの in または inout パラメーターに対して 1 つずつのエレメントを必要とします。 インターフェースがモジュールに含まれている場合、名前はモジュールの名前で修飾されます。 モジュールが他のモジュールにネストされている場合は、すべてのモジュール名が含められます (moduleNameA.moduleNameB.interfaceName.operationName など)。 クライアントは out パラメーターについて値を送信しないので、out パラメーターは必要ありません。 これらのエレメントは、IDL ファイル内のパラメーターと同じ順序でなければなりません。

CORBARequest ノードからの出力メッセージは、エレメント interfaceName.operationNameResponse に含まれています。 インターフェースがモジュールに含まれている場合、名前はモジュール名で修飾されます。 アウトバウンド・メッセージには、戻りの型のためのエレメント (_return という名前) と、それぞれの inout および out パラメーターに対して 1 つずつのエレメントがあります。

以下に示すのは、IDL ファイルの例です。
interface exampleInterface {
	string outsideModuleOperation(in string one, out string two, inout string three);
	
};
入力メッセージは、以下の例のようになります。
<exampleInterface.outsideModuleOperation>
	<one>something</one>
	<three>something</three>
</exampleInterface.outsideModuleOperation>
出力メッセージは、以下の例のようになります。
<exampleInterface.outsideModuleOperationResponse>
	<_return>something</_return>
	<two>something</two>
	<three>something</three>
</exampleInterface.outsideModuleOperationResponse>
入力メッセージは、すべて in および inout パラメーターを必要とするので、one および three が指定されます。 出力には、以下のエレメントがあります。

ユーザー定義の例外

例外は、DataObject ドメインの下にある Error ターミナルに伝搬されます。 メッセージの構造は、例外によって異なります。

以下の例は、ユーザー定義の例外が IDL ファイルに定義される方法を示しています。
exception BadRecord {
    string why;    
  };


  interface SomeInterface {
    long bar(in float pi) raises (BadRecord);
  };
操作 bar は、例外 BadRecord を発行することがあります。 この例外が発行された場合、以下のメッセージが Error ターミナルに伝搬されます。
<BadRecord>
	<why>Reason text</why>
</BadRecord>

エッジ・ケース

ツリーの読み取りおよびツリーの生成に関して識別されている、2 つのエッジ・ケースが存在します。
  • 入力パラメーターが存在しない。
  • void 関数に、inout または out パラメーターがない。
以下のサンプル IDL ファイルは、2 つの例を示しています。
interface exampleInterface {
	string exampleOne();
void exampleTwo(in string one);	
};
  • 例 1 - 入力パラメーターが存在しない

    入力メッセージ: CORBARequest ノードはメッセージの本体を読み取らないので、入力メッセージは無関係です。

    出力メッセージ:
    <exampleInterface.exampleOneResponse>
    	<_return>something</_return>
    </exampleInterface.exampleOneResponse>
  • 例 2 - void 関数に、inout または out パラメーターがない
    入力メッセージ:
    <exampleInterface.exampleTwo>
    	<one>something</one>
    </exampleInterface.exampleTwo>
    出力メッセージ:
    <exampleInterface.exampleTwoResponse>
    </exampleInterface.exampleTwoResponse>
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:35


概念トピック概念トピック | バージョン 8.0.0.5 | bc22470_