以下を使用して cxf/spring プロジェクトを作成しました。
mvn archetype:create -DarchetypeGroupId=org.apache.cxf.archetype -DarchetypeArtifactId=cxf-jaxws-javafirst
結果のプロジェクトには、@WebService のアノテーションが付けられた HelloWorld.java インターフェースと、endpointInterface=mypackage.HelloWorld のアノテーションが付けられた HelloWorldImpl.java があります。
以下を含む beans.xml ファイルがあります。
<jaxws:endpoint
id="helloWorld"
implementor="mypackage.HelloWorldImpl"
address="/HelloWorld" />
さらにサービスを追加したい場合は、beans.xml に新しいエンドポイントを追加し続ける必要があるようです。クラスには既に @WebService という注釈が付けられているため、一部のパッケージ/検索パス内で新しいサービスを自動検出できないのはなぜですか? このプロジェクトを構成してそれを行う方法はありますか?
基本的に、私は自分自身を繰り返さないようにしています。情報はすでに注釈に含まれているため、サービスを追加するたびに追加のファイルを編集する必要はありません。
beans.xml の jaxws:endpoint タグを削除するとmvn install tomcat:run
、localhost:8080/myArtifactId にサービスが定義されていないというページが表示されるだけです。