Tomcat 7 の WAR ファイルとしてデプロイする JAX-WS Web サービス アプリケーションがあります。これは、WAR ファイル内に含めた最新バージョンの Metro ライブラリを使用しており、正常に動作します。
展開パッケージを簡素化しようとしています。Sun JDK には Metro のコピーが含まれていることを理解しています (たとえば、この質問とこの質問を参照してください)。私は、Tomcat と JDK に付属する Metro の実装だけでうまくいくかどうか、あるいはそうでない場合は、その理由を理解しようとしています。
WAR の内容は次のとおりです (クラス ファイルは削除されています)。
META-INF/MANIFEST.MF
WEB-INF/classes/
WEB-INF/classes/com/[et cetera]
WEB-INF/ibm-web-ext.xml
WEB-INF/lib/
WEB-INF/lib/stax-api.jar
WEB-INF/lib/webservices-api.jar
WEB-INF/lib/webservices-extra-api.jar
WEB-INF/lib/webservices-extra.jar
WEB-INF/lib/webservices-rt.jar
WEB-INF/lib/webservices-tools.jar
WEB-INF/sun-jaxws.xml
WEB-INF/web.xml
wsdl/
wsdl/MyService.wsdl
web.xml
部分的に含まれています:
<servlet>
<servlet-name>MyService</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
</servlet>
webservices-* jar (Metro jar) を WAR から削除すると、Web サービスが失敗し、「 Wrapper はサーブレット クラス com.sun.xml.ws.transport.http.servlet.WSServlet またはクラスを見つけることができません」というエラーが表示されます。による"。Java 7 SE に付属する jar のどこにもそのクラスが見つからないため、これは驚くべきことではありません。
では、このような機能を実現するために別の Metro のコピーをダウンロードする必要がある場合、Java 7 に Metro が付属しているとはどういう意味でしょうか? Java に付属の jar だけを使用して、Tomcat 内で JAX-WS Web サービスを実行することは可能ですか?