65.15. ルートのエンドポイントマッピング


XML 設定が整ったので、Camel の DSL を使用して、エンドポイントで処理される Web サービスリクエストを定義できます。

次のルートは、http://example.com/ 名前空間内に "GetFoo" という名前のルート要素を持つすべての Web サービスリクエストを受け取ります。

from("spring-ws:rootqname:{http://example.com/}GetFoo?endpointMapping=#endpointMapping")
.convertBodyTo(String.class).to(mock:example)
Copy to Clipboard Toggle word wrap

次のルートは、http://example.com/GetFoo SOAP アクションを含む Web サービスリクエストを受け取ります。

from("spring-ws:soapaction:http://example.com/GetFoo?endpointMapping=#endpointMapping")
.convertBodyTo(String.class).to(mock:example)
Copy to Clipboard Toggle word wrap

次のルートは、http://example.com/foobar に送信されたすべてのリクエストを受け取ります。

from("spring-ws:uri:http://example.com/foobar?endpointMapping=#endpointMapping")
.convertBodyTo(String.class).to(mock:example)
Copy to Clipboard Toggle word wrap

以下のルートは、要素 <foobar>abc</foobar> をメッセージ内の任意の場所 (およびデフォルトの名前空間) に含むリクエストを受け取ります。

from("spring-ws:xpathresult:abc?expression=//foobar&endpointMapping=#endpointMapping")
.convertBodyTo(String.class).to(mock:example)
Copy to Clipboard Toggle word wrap

65.15.1. 既存のエンドポイントマッピングを使用した代替設定

mapping-type beanname を持つすべてのエンドポイントに対して、対応する名前を持つタイプ CamelEndpointDispatcher の 1 つの Bean が Registry/ApplicationContext に必要です。この Bean は、Camel エンドポイントと PayloadRootQNameEndpointMapping などの既存の エンドポイントマッピング の間のブリッジとして機能します。

beanname mapping-type の使用は、主に、すでに Spring-WS を使用しており、Spring XML ファイルでエンドポイントマッピングが定義されている (レガシー) 状況を対象としています。beanname マッピングタイプを使用すると、Camel ルートを既存のエンドポイントマッピングに接続できます。最初から開始する場合は、エンドポイントマッピングを Camel URI として定義する必要があります (上記の endpointMapping を参照)。これは、必要な設定が少なく、より表現力が高いためです。アノテーションを利用してバニラ Spring-WS を使用することもできます。

beanname を使用したルートの例:

<camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
        <from uri="spring-ws:beanname:QuoteEndpointDispatcher" />
        <to uri="mock:example" />
    </route>
</camelContext>

<bean id="legacyEndpointMapping" class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
    <property name="mappings">
        <props>
            <prop key="{http://example.com/}GetFuture">FutureEndpointDispatcher</prop>
            <prop key="{http://example.com/}GetQuote">QuoteEndpointDispatcher</prop>
        </props>
    </property>
</bean>

<bean id="QuoteEndpointDispatcher" class="org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher" />
<bean id="FutureEndpointDispatcher" class="org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher" />
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat