HTTP コンジット・クライアント・プロパティーおよびユーザー・カスタム・プロパティーの使用可能化

Liberty で JAX-WS アプリケーションの ibm-ws-bnd.xml ファイルを使用して、HTTP クライアント・プロパティーおよびユーザー・カスタム・プロパティーを定義できます。

始める前に

ibm-ws-bnd.xml ファイルは、Web ベースの Web サービス・アプリケーション (WAR ファイル) の /WEB-INF ディレクトリー内、または EJB ベースの Web サービス・アプリケーション (JAR ファイル) の /META-INF ディレクトリー内になければなりません。クライアントが clientContainer で実行されている場合、ibm-ws-bnd.xml ファイルは、クライアント EAR 内の JAR ファイルの /META-INF ディレクトリーになければなりません。

このタスクについて

HTTP クライアント・プロパティーおよびユーザー・カスタム・プロパティーは、@WebServiceRef アノテーションによって注入された特定のサービス・クライアントまたはサービス・ポートに関し、ibm-ws-bnd.xmlファイル内の service-ref および port エレメントを使用して定義できます。 port エレメント内のプロパティーは、service-ref エレメント内の同一プロパティーをオーバーライドします。
HTTP クライアント・プロパティー
以下の HTTP クライアント・プロパティーは Liberty プロファイルでサポートされます。これらのプロパティーは接頭部 http.conduit.client. を持つ必要があります。例: http.conduit.client.ConnectionTimeout。 これらの HTTP クライアント・プロパティーは、SOAP メッセージの送受信の際にのみ有効で、WSDL URL への接続時には適用されません。
  • ConnectionTimeout
  • ReceiveTimeout
  • AsyncExecuteTimeout
  • AsyncExecuteTimeoutRejection
  • AutoRedirect
  • MaxRetransmits
  • AllowChunking
  • ChunkingThreshold
  • Connection
  • DecoupledEndpoint
  • ProxyServer
  • ProxyServerPort
  • ProxyServerType
  • NonProxyHosts
これらのプロパティーの詳細については、『Apache CXF での HTTP 構成スキーマ』および 『クライアント HTTP トランスポート (SSL サポートを含む)』を参照してください。
ユーザー・カスタム・プロパティー
Liberty 内のサポートされている HTTP クライアント・プロパティーに加え、ご使用のアプリケーションで使用する可能性のあるユーザー・カスタム・プロパティーを定義し、それらのプロパティーをクライアント要求コンテキストから取得することができます。properties エレメントで定義されたすべての属性が、サービス・クライアント要求コンテキストに追加されます。

ibm-ws-bnd.xml ファイル 内で構成できるすべての使用可能なエレメントについては、『Liberty: ibm-ws-bnd.xml ファイル』を参照してください。

手順

  1. HTTP コンジット・プロパティーを構成します。 以下の例では、ibm-ws-bnd.xml ファイルで HTTP クライアント・プロパティー ConnectionTimeout および ReceiveTimeout を構成する方法を示します。以下の例では、@WebServiceRef(name="service/SimpleEchoService") を使用して注入されたサービス・クライアントのすべてのポートに対し、HTTP クライアント・プロパティー ConnectionTimeout および ReceiveTimeout を適用する方法を示します。ポート SimpleEchoPort には、ユーザー・カスタム・プロパティー vendor の値も適用されます。
    <?xml version="1.0" encoding="UTF-8"?>
    <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" 
    		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    		xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd"
    		version="1.0">
    	<service-ref name="service/SimpleEchoService">
    		<port name="SimpleEchoPort">
    			<properties vendor="IBM" />
    		</port>
    		<properties http.conduit.client.ConnectionTimeout="10000" 
    			http.conduit.client.ReceiveTimeout="15000" />
    	</service-ref>
    	...
    </webservices-bnd>
  2. 次のように @WebServiceRef(name="service/SimpleEchoService") アノテーションによって注入されるクライアントの要求コンテキストから ibm-ws-bnd.xml ファイルに定義されているプロパティーを取得します。
    @WebServiceRef(name="service/SimpleEchoService")
    private EchoService echoService;
       ...
    Echo echo = echoService.getEchoPort();
    BindingProvider bp = (BindingProvider)echo;
    String connTimeout = bp.getRequestContext().get("http.conduit.client.ConnectionTimeout").toString(); 
    String recTimeout = bp.getRequestContext().get("http.conduit.client.ReceiveTimeout").toString(); 
    String vendor = bp.getRequestContext().get("vendor").toString(); 
    		...

トピックのタイプを示すアイコン タスク・トピック



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