例: JAX-WS プロパティーを使用して JAX-WS ハンドラーの SOAP ヘッダーを操作する

WebSphere® Application Server は、Java™ API for XML-Based Web Services (JAX-WS) に対する拡張を提供し、jaxws.binding.soap.headers.outbound プロパティーおよび jaxws.binding.soap.headers.inbound プロパティーを含む、Web Services for Java Platform, Enterprise Edition (Java EE) クライアント・プログラミング・モデルを提供します。 この例では、これらの 2 つのプロパティーを使用して JAX-WS ハンドラーの SOAP ヘッダーを操作する方法を示します。

トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): これらの API 拡張と標準 API の両方で、同じ JAX-WS ハンドラーの SOAP ヘッダーを操作することはできません。JAX-WS ハンドラーの SOAP ヘッダー操作処理をセットアップする際に、これらの拡張を使用するか、標準 API を使用するかを決定する必要があります。gotcha
以下のプログラミング例では、JAX-WS ハンドラー・コンテキスト内で 2 つの要求 SOAP ヘッダーを設定して 1 つの応答 SOAP ヘッダーを取得する方法を示します。
1  //Create the hashmaps for the outbound soap headers
2  Map<QName, List<String>> outboundHeaders=messageContext.get("jaxws.binding.soap.headers.outbound"); 
3
4  //Add "AtmUuid1" and "AtmUuid2" to the outbound map
5  List<String> list1 = new ArrayList<String>();
6  list1.add("<AtmUuid1 xmlns=¥"com.rotbank.security¥"><uuid>ROTB-0A01254385FCA09</uuid></AtmUuid1>");
7  List<String> list2 = new ArrayList<String>();
8  list2.add("<AtmUuid2 xmlns=¥"com.rotbank.security¥"><uuid>ROTB-0A01254385FCA09</uuid></AtmUuid2>"
9  outboundHeaders.put(new QName("com.rotbank.security", "AtmUuid1"), list1);
10 outboundHeaders.put(new QName("com.rotbank.security", "AtmUuid2"), list2);
11 // Set the outbound map on the MessageContext object, which is passed into the JAX-WS handler method
12 messageContext.put("jaxws.binding.soap.headers.outbound", outboundHeaders);

行 2 では、MessageContext パラメーターからアウトバウンド SOAP ヘッダー・マップを取得します。このヘッダー・マップを、JAX-WS ハンドラー・メソッドに渡します。

行 5 から 10 まででは、AtmUuid1 および AtmUuid2 ヘッダー・エレメントがアウトバウンド・マップに追加されます。

行 12 では、アウトバウンド・マップが JAX-WS ハンドラー・コンテキストに設定されます。これにより、AtmUuid1 ヘッダーおよび AtmUuid2 ヘッダーが要求メッセージに追加されます。outboundHeaders マップはライブ・マップなので、このコードは必要ありません。

JAX-WS ハンドラー・メソッドは、必要に応じて、マップから特定のヘッダーを取得して、ヘッダーまたはヘッダーのリスト全体を削除することもできます。

注: メッセージを処理するには、これらの API のみを使用するか、標準 API のみを使用します。この 2 つの API を混用しないでください。

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



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