検索

325.12. Web サービスの公開

download PDF

このコンポーネントを使用して Web サービスを公開するには、まず MessageDispatcher をセットアップして、Spring XML ファイルでエンドポイントマッピングを探す必要があります。サーブレットコンテナー内で実行する予定がある場合は、web.xml で設定された MessageDispatcherServlet を使用することを推奨します。

デフォルトでは、MessageDispatcherServlet/WEB-INF/spring-ws-servlet.xml という名前の Spring XML を探します。Spring-WS で Camel を使用するには、その XML ファイルで必須の Bean は CamelEndpointMapping のみです。この Bean により、MessageDispatcher は Web サービスリクエストをルートにディスパッチできます。

web.xml

<web-app>
    <servlet>
        <servlet-name>spring-ws</servlet-name>
        <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring-ws</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

spring-ws-servlet.xml

<bean id="endpointMapping" class="org.apache.camel.component.spring.ws.bean.CamelEndpointMapping" />

<bean id="wsdl" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
    <property name="schema">
        <bean class="org.springframework.xml.xsd.SimpleXsdSchema">
            <property name="xsd" value="/WEB-INF/foobar.xsd"/>
        </bean>
    </property>
    <property name="portTypeName" value="FooBar"/>
    <property name="locationUri" value="/"/>
    <property name="targetNamespace" value="http://example.com/"/>
</bean>

Spring-WS のセットアップの詳細については、Writing Contract-First Web Services を参照してください。基本的に、3.6 項エンドポイントの実装はこのコンポーネントによって処理されます (具体的には、3.6.2 項エンドポイントへのメッセージのルーティングは CamelEndpointMapping の出番です)。また、Camel ディストリビューションに含まれている Spring Web Services Example も忘れずにチェックしてください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.