私はspring-wsサーブレットコンテキストをSpringコンテキストの場合と同様にカスタマイズしようとしています。初期コンテキスト(サーバの起動時に初期化される)については、ContextLoader
を拡張してServletContextListener
クラスを実装しました。これはorg.springframework.web.context.ContextLoaderListener
クラスと同様です。私はcustomizeContext(ServletContext servletContext, ConfigurableWebApplicationContext applicationContext)
メソッドをオーバーライドして初期コンテキストをカスタマイズし、プロパティに基づいてオプションのコンテキストXMLファイルを追加/削除することができます。このクラスをSpringのデフォルトのContextLoaderListener
の代わりにweb.xml
ファイルのリスナーとして設定できました。これは期待どおりに機能します。Spring-WSのカスタムコンテキスト
私はspring-wsサーブレットのコンテキスト(WEB-INF\spring-ws-servlet.xml
で定義されているすべてのBean)に対して同様のアプローチを取っていますが、私はこれに対する解決策を見つけることができませんでした。私が考えることができるのは、私のカスタムコンテキストローダーに 'オプションの' Beanを含むXMLファイルを生成させて、spring-ws-servlet
コンテキストをインポートすることだけです。しかし、これはソリューションのハック・ジョブであり、よりよいアプローチが必要だと私は考えています。最初のWebサービスが呼び出されたときにspring-wsサーブレットのコンテキストをカスタマイズする方法については、誰でも提案していますか?
私は春に事前に2.5.6 &春-WS 1.5.9
感謝を使用しています。
私はあなたに従うか分からない。 'ContextLoaderListener'ロジックは、サーブレットコンテキストではなく、ルートwebbappコンテキストに適用されます。以前の通常のSpringサーブレットと同様に、Spring-WSサーブレットはルートWebアプリケーションコンテキストにアクセスできます。 – skaffman
Spring-WS Beanを宣言できる別のXMLファイルを宣言できます。ここにhttp://krams915.blogspot.com/2010/12/spring-ws-2-and-spring-3-mvc.htmlの例があります。これはSpring Framework 3.xxとSpring WS 2.xxを使用しています – chris
両方に感謝あなたの応答のためにあなたの。私は、ContextLoaderListenerロジックがサーブレットコンテキストではなく、ルートwebappコンテキストに適用されることを理解しています。私はサーブレットのコンテキストをカスタマイズしようとしています。 EX-私はcontext.xmlにいくつかのbeanを定義しています。これらのBeanには、ルートWebアプリケーションコンテキストがロードされます。次に、spring-ws-context.xmlにエンドポイントがBeanとして定義されています。これらのエンドポイントの中には、特定のプロパティが真または偽でない限り、それらのエンドポイントの一部が必要でないため、ロードする必要はありません。サーブレットコンテキスト(spring-ws-servletで定義)をカスタマイズしたいと思います。アノテーションを使用してエンドポイントがマップされます。 – Steve