例: 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 ヘッダーを操作する方法を示します。

以下のプログラミング例では、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 を混用しないでください。