0

Apache CXF を使用して Wildfly にデプロイする単純な WSDL ベースの Web サービスを作成しようとしています。wsdlファイルを使用して標準のweb.xml、cxf-servlet.xml構成を試しましたが、サーバーから次のエラーが表示されました

ws エンドポイントのデプロイメントで Apache CXF ライブラリ (cxf-api-2.7.3.jar) が検出されました。組み込みライブラリをコンテナー モジュールの依存関係に置き換える適切なデプロイメントを提供するか、適切な jboss-deployment-structure.xml を追加して現在のデプロイメントの webservices サブシステムを無効にします。

ビルドとデプロイのプロセスに Maven を使用しています。さらに読むと、Wildfly は JBossWS スタックを使用し、Spring ベースの CXF 構成は推奨されないことがわかりました。また、 wsdl2java または wsprovide/wsconsume を使用する必要がありますか? 簡単なプロジェクトをセットアップして WSDL の最初の Web サービスを作成し、Wildfly にデプロイする方法を教えてください。または、実際の例を教えてください。

助けてくれてありがとう。

4

3 に答える 3

1

上記のメッセージの理由は、まさに WildFly の webservices サブシステムがデプロイメント内の Apache CXF ライブラリを検出したためです。これは、Web サービスを利用する JavaEE アプリケーションが提供され、WildFly のような JavaEE コンテナーにデプロイされることが期待される方法ではありません。これは、基本的に、コンテナーが WS エンジン機能を提供する責任があるためです。特に、WildFly に関しては、Apache CXF が内部で使用されているため、展開にいくつかの cxf ライブラリを追加すると、ユーザーは簡単に解決できない複雑なクラスローディングの問題に直面する可能性があります。とにかく、メッセージは何をしなければならないかを示しています:(JBoss)モジュールの依存関係はデプロイメントで定義する必要があります。これは、展開 MANIFEST.MF で簡単に実行できます。これに関するいくつかのドキュメントhttps://docs.jboss.org/author/display/JBWS/JBoss+Modules(ただし、JBoss Modules をグーグルで検索すると、多くの情報を見つけることができます)。

一般的に言えば、https: //docs.jboss.org/author/display/JBWS/Apache+CXF+integration#ApacheCXFintegration-BuildingWSapplicationstheJBossway にあるドキュメントを読むことをお勧めします。このドキュメントでは、JBossWS と Apache CXF の統合についてもう少し詳しく説明しています。アプリを適切にパッケージ化する方法を示します。

于 2015-02-23T09:03:20.343 に答える
0

追加の提案: http://jbossws.blogspot.it/2014/09/how-to-kick-start-ws-project-in-few.htmlを読み、説明されている Maven アーキタイプを試して、適切にセットアップされ、動作する WS クライアントを構築してください。数秒で。

興味があれば、私はこのトピックをカバーする本も書いています。 .html

于 2015-02-23T09:07:19.847 に答える