18.2. JAX-RS クライアントエンドポイントの設定
18.2.1. JAX-RS クライアントエンドポイントの定義 リンクのコピーリンクがクリップボードにコピーされました!
クライアントプロキシーの挿入 リンクのコピーリンクがクリップボードにコピーされました!
クライアントプロキシー Bean を XML 言語 (BlueprintXML または SpringXML) でインスタンス化する主なポイントは、別の Bean に挿入し、クライアントプロキシーを使用して REST サービスを呼び出すことができるようにすることです。XML でクライアントプロキシー Bean を作成するには、jaxrs:client
要素を使用します。
Namespaces リンクのコピーリンクがクリップボードにコピーされました!
JAX-RS クライアントエンドポイントは、サーバーエンドポイントとは 異なる XML 名前空間を使用して定義されます。次の表は、どの XML 言語にどの名前空間を使用するかを示しています。
XML 言語 | クライアントエンドポイントの namespace |
---|---|
ブループリント | |
Spring |
基本のクライアントエンドポイント定義 リンクのコピーリンクがクリップボードにコピーされました!
次の例は、BlueprintXML または SpringXML でクライアントプロキシー Bean を作成する方法を示しています。
<jaxrs:client id="restClient" address="http://localhost:8080/test/services/rest" serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws"/>
<jaxrs:client id="restClient"
address="http://localhost:8080/test/services/rest"
serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws"/>
基本的なクライアントエンドポイントを定義するには、次の属性を設定する必要があります。
id
- クライアントプロキシーの Bean ID を使用して、XML 設定内の他の Bean にクライアントプロキシーを挿入できます。
address
- address 属性は REST 呼び出しのベース URL を指定します。
serviceClass
-
serviceClass
属性は、ルートリソースクラス (@Path
によりアノテーションが付けられる) を指定して、REST サービスの説明を提供します。実際、これは server クラスですが、クライアントで直接使用されません。指定されたクラスは、クライアントプロキシーを動的に構築するのに使用されるメタデータ (Java リフレクションおよび JAX-RS アノテーションを介して) にのみ使用されます。
ヘッダーの指定 リンクのコピーリンクがクリップボードにコピーされました!
以下のように、jaxrs:headers
子要素を使用して、HTTP ヘッダーをクライアントプロキシーの呼び出しに追加できます。