Oracle® Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング 11g リリース1(10.3.6) B61633-04 |
|
前 |
次 |
この章では、Java API for XML Web Services(JAX-WS)を使用したWebLogic Webサービスで、com.sun.xml.ws.developer.WSBindingProvider
から利用可能なメソッドを使用して、アウトバウンドSOAPヘッダーの送信およびインバウンドSOAPヘッダーの受信を行う方法について説明します。
この章の内容は以下のとおりです。
注意: com.sun.xml.ws.developer.WSBindingProvider APIおよびcom.sun.xml.ws.api.message.Headers APIは、JDK 6.0の拡張としてサポートされています。これらのAPIはJDK 6.0キットの一部としては提供されないため、変更される可能性があります。 |
プロキシまたはディスパッチ・クライアントを作成すると、そのクライアントにより、javax.xml.ws.BindingProvider
インタフェースが実装されます。SOAPヘッダーを送信または受信する必要がある場合には、Webサービス・プロキシ・クライアントまたはディスパッチ・クライアントをcom.sun.xml.ws.developer.WSBindingProvider
にダウンキャストし、インタフェースのメソッドを使用することで、アウトバウンドSOAPヘッダーの送信やインバウンドSOAPヘッダーの受信を行うことができます。
com.sun.xml.ws.developer.WSBindingProvider
に対してsetOutboundHeaders
メソッドを使用し、SOAPヘッダーを送信します。SOAPヘッダーの作成にはcom.sun.xml.ws.api.message.Headers
メソッドを使用します。
たとえば、次のコードの抜粋は、簡単な文字列値をヘッダーとして渡す方法を示しています。
例18-1 WSBindingProviderを使用したSOAPヘッダーの送信
import com.sun.xml.ws.developer.WSBindingProvider; import com.sun.xml.ws.api.message.Headers; import javax.xml.namespace.QName; ... HelloService helloService = new HelloService(); HelloPort port = helloService.getHelloPort(); WSBindingProvider bp = (WSBindingProvider)port; bp.setOutboundHeaders( // Sets a simple string value as a header Headers.create(new QName("simpleHeader"),"stringValue") ); ...
com.sun.xml.ws.developer.WSBindingProvider
に対してgetInboundHeaders
メソッドを使用し、SOAPヘッダーを受信します。
たとえば、次のコードの抜粋は、インバウンド・ヘッダーを取得する方法を示しています。
例18-2 WSBindingProviderを使用したSOAPヘッダーの受信
import com.sun.xml.ws.developer.WSBindingProvider; import com.sun.xml.ws.api.message.Headers; import javax.xml.namespace.QName; import java.util.List; ... HelloService helloService = new HelloService(); HelloPort port = helloService.getHelloPort(); WSBindingProvider bp = (WSBindingProvider)port; List inboundHeaders = bp.getInboundHeaders(); ...