Menu Close
17.2. コンシューマーエンドポイントの設定
概要
JAX-WS コンシューマーエンドポイントは、jaxws:client
要素を使用して設定されます。要素の属性は、コンシューマーの作成に必要な基本的な情報を提供します。
WS-RM などのその他の機能をコンシューマーに追加するには、子を jaxws:client
要素に追加します。子要素は、エンドポイントのロギング動作を設定するためや、他のプロパティーをエンドポイントの実装に注入するためにも使用されます。
基本的な設定プロパティ
表17.4「JAX-WS コンシューマーの設定に使用される属性」で説明されている属性は、JAX-WS コンシューマーの設定に必要な基本情報を提供します。設定する特定のプロパティーの値のみを指定する必要があります。ほとんどのプロパティーには実用的なデフォルトがあります。または、エンドポイントのコントラクトによって提供される情報に依存します。
表17.4 JAX-WS コンシューマーの設定に使用される属性
属性 | 説明 |
---|---|
コンシューマーがリクエストを行うエンドポイントの HTTP アドレスを指定します。この値は、コントラクトで設定された値をオーバーライドします。 | |
コンシューマーが使用するメッセージバインディングの ID を指定します。有効なバインディング ID のリストは、「23章Apache CXF バインディング ID」で提供されます。 | |
エンドポイントを管理するバスを設定する Spring Bean の ID を指定します。 | |
コンシューマーが要求するサービスの | |
コンシューマーが要求するサービスの | |
単純なユーザー名/パスワード認証に使用されるユーザー名を指定します。 | |
単純なユーザー名/パスワード認証に使用されるパスワードを指定します。 | |
サービスエンドポイントインターフェース (SEI) の名前を指定します。 | |
エンドポイントの WSDL コントラクトの場所を指定します。WSDL コントラクトの場所は、クライアントがデプロイされるフォルダーに対する相対パスです。 | |
コンシューマーが要求するサービスの | |
Bean が抽象 Bean であるかどうかを指定します。抽象 Bean は具体 Bean 定義の親として機能し、インスタンス化されません。デフォルトは | |
インスタンス化する前に、エンドポイントがインスタンス化されることに依存する Bean のリストを指定します。 | |
デフォルトは
これを
|
表17.4「JAX-WS コンシューマーの設定に使用される属性」 に一覧表示される属性の他に、複数の xmlns:shortName
属性を使用して endpointName
および serviceName
属性によって使用される namespace を宣言する必要がある場合があります。
機能の追加
コンシューマーに機能を追加したり、高度な設定を実施するには、設定に子要素を追加する必要があります。
子要素を使用すると、以下を実行できます。
表17.5「コンシューマーエンドポイント設定用の要素」に、JAX-WS コンシューマーの設定に使用できる子要素をまとめます。
表17.5 コンシューマーエンドポイント設定用の要素
要素 | 説明 |
---|---|
エンドポイントによって使用されるメッセージバインディングを設定する Bean を指定します。メッセージバインディングは、 | |
エンドポイントによって使用されるデータバインディングを実装するクラスを指定します。埋め込み Bean 定義を使用してこれを指定します。JAXB データバインディングを実装するクラスは | |
Apache CXF の高度な機能を設定する Bean のリストを指定します。Bean 参照のリストまたは組み込み Bean のリストを指定できます。 | |
メッセージを処理する JAX-WS Handler 実装のリストを指定します。JAX-WS Handler 実装の詳細は、「43章ハンドラーの作成」を参照してください。 | |
インバウンドの応答を処理するインターセプターのリストを指定します。詳細は、パートVII「Apache CXF インターセプターの開発」を参照してください。 | |
インバウンドの障害メッセージを処理するインターセプターのリストを指定します。詳細は、パートVII「Apache CXF インターセプターの開発」を参照してください。 | |
アウトバウンドリクエストを処理するインターセプターのリストを指定します。詳細は、パートVII「Apache CXF インターセプターの開発」を参照してください。 | |
アウトバウンドの障害メッセージを処理するインターセプターのリストを指定します。詳細は、パートVII「Apache CXF インターセプターの開発」を参照してください。 | |
エンドポイントに渡されるプロパティーのマップを指定します。 | |
クライアントが使用する org.apache.cxf.endpoint.ConduitSelector 実装を指定します。ConduitSelector 実装は、送信要求の処理に使用される | |
[a]
SOAP バインディングは soap:soapBinding Bean を使用して設定されます。
|
例
例17.5「単純なコンシューマー設定」に単純なコンシューマー設定を示します。
例17.5 単純なコンシューマー設定
<beans ... xmlns:jaxws="http://cxf.apache.org/jaxws" ... schemaLocation="... http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd ..."> <jaxws:client id="bookClient" serviceClass="org.apache.cxf.demo.BookClientImpl" address="http://localhost:8080/books"/> ... </beans>
JAX-WS コンシューマーでのスキーマ検証の有効化
JAX-WS コンシューマーでスキーマ検証を有効にするには、jaxws:client
要素の jaxws:properties
子要素の schema-validation-enabled
プロパティーを以下のように設定します。
<jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort" createdFromAPI="true"> <jaxws:properties> <entry key="schema-validation-enabled" value="BOTH" /> </jaxws:properties> </jaxws:client>
schema-validation-enabled
プロパティーの許可される値の一覧は、「スキーマ検証の型の値」 を参照してください。