第318章 Spring WebService コンポーネント

Camel バージョン 2.6 以降で利用可能

重要

Camel WebService の camel-spring-ws コンポーネントは、Red Hat JBoss Enterprise Application Platform (JBoss EAP) コンテナーではサポートされ ていません。JBoss EAP コンテナーに JAX-WS エンドポイントを実装する必要がある場合、推奨される方法は、JBoss EAP コンテナーに組み込まれた webservice サブシステムを使用することです。このアプローチにより、エンタープライズレベルのサービス品質 (管理、セキュリティーなどを含む) が自動的に提供されます。その後、JAX-WS エンドポイントを Camel ルートと統合する必要がある場合は、最初のペイロード処理の後に、結果の EndpointImpl Bean を Camel ルートに渡すことができます。

spring-ws: コンポーネントを使用すると、Spring Web Services と統合できます。Web サービスにアクセスするための クライアント 側のサポートと、独自のコントラクト優先の Web サービスを作成するための サーバー 側のサポートの両方を提供します。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-ws</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

318.1. URI 形式

このコンポーネントの URI スキームは次のとおりです。

spring-ws:[mapping-type:]address[?options]

Web サービスを公開するには、マッピングタイプ を次のいずれかに設定する必要があります。

マッピングタイプ説明

rootqname

メッセージに含まれるルート要素の修飾名に基づいて Web サービスリクエストをマップするオプションを提供します。

soapaction

メッセージのヘッダーで指定された SOAP アクションに基づいて Web サービスリクエストをマップするために使用されます。

uri

特定の URI を対象とする Web サービスリクエストをマップする場合。

xpathresult

入力メッセージに対する XPath の評価に基づいて、Web サービスリクエストをマップするために使用されます。評価の結果は、エンドポイント URI で指定された XPath の結果と一致する必要があります。

beanname

PayloadRootQNameEndpointMappingSoapActionEndpointMapping などの既存の (レガシー) エンドポイントマッピング と統合するために、org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher オブジェクトを参照できます。

コンシューマーとして、アドレス には指定されたマッピングタイプ (SOAP アクション、XPath 式など) に関連する値が含まれている必要があります。プロデューサとして、アドレスは呼び出し先の Web サービスの URI に設定する必要があります。

URI には、?option=value&option=value&…​ の形式でクエリー options を追加できます。