SDO メッセージにアクセスするための JAX-RPC ハンドラーの実装

JAX-RPC ハンドラーは、要求および応答メッセージの処理中に起動されます。 SOAP プロトコルを使用して交換されるメッセージの場合、各 JAX-RPC ハンドラーには SOAP 固有の MessageContext オブジェクトが渡されます。その他のプロトコルでは、IBM Web サービス・ランタイム環境は、メッセージのサービス・データ・オブジェクト (SDO) ビューを提供する MessageContext オブジェクトを渡します。サービス・データ・オブジェクト (SDO) は、異なるデータ・ソースからのデータを統一された方法で (データ・グラフとして) アプリケーションが取り扱えるようにするためのオープン・スタンダードです。

JAX-RPC ハンドラーがメッセージ・コンテキスト・プロパティーのみを扱う場合は、提供される MessageContext の特定のサブクラスを認識する必要はありません。なぜなら、コンテキスト・プロパティー・メソッドは MessageContext インターフェース自体で定義されるからです。ハンドラーがメッセージ内に含まれる情報を処理する必要がある場合は、必要サブクラスを使用して処理ができるようにコード化する必要があります。 JAX-RPC ハンドラーによって、MessageContext が必要なサブクラスのインスタンスであるかどうかを検査する必要があります。

以下の場合には、JAX-RPC ハンドラーに SOAP 固有の MessageContext オブジェクトではなく、SDO 固有の MessageContext オブジェクト (com.ibm.websphere.webservices.handler.sdo.SDOMessageContext クラスのインスタンス) が割り当てられます。
  • サービス統合バスからの JAX-RPC クライアントまたはアウトバウンドの起動により、 EJB バインディングを使用してサービスが起動されます。
  • JAX-RPC クライアントは、非バウンド WSDL と対比して開発され、サービス統合バスにおいて宛先を再度ターゲットにします。

SDOMessageContext クラスは、処理中のメッセージを表す com.ibm.websphere.sdo.SDOMessage インスタンスを get および set するメソッドを提供します。SDOMessage には、メッセージ内容を SDO DataObject として保持する SDO DataGraph オブジェクトにアクセスするメソッドが与えられます。

JAX-RPC ハンドラーは SDO DataGraph 内容を変更することができますが、メッセージのフォーマットまたはスキーマを変更することはできません。

以下の例では、JAX-RPC ハンドラーの handleRequest メソッドで MessageContext オブジェクトから SDO DataGraph にアクセスするために使用できるコードを示します。

public boolean handleRequest(MessageContext messageContext) {

				// Convert the MessageContext into an SDOMessageContext
				if( messageContext instanceof SDOMessageContext) {
						SDOMessageContext smc = (SDOMessageContext)messageContext;

			// Retrieve the message
						SDOMessage message = smc.getSDOMessage();
		
						// Get the root object in the SDO DataGraph
						DataGraph graph = message.getDataGraph();
						DataObject content = graph.getRootObject();
		
						// Now do something with the message content.....
		}
		return true;
	}

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjw_jaxrpc_sdo
ファイル名:rjw_jaxrpc_sdo.html