Implementação de JAX-WS incluída com Java?

Eu tenho um aplicativo de serviço da web JAX-WS que é implementado como um arquivo WAR para o Tomcat 7. Ele usa uma versão recente das bibliotecas do Metro, que incluo dentro do arquivo WAR, e funciona bem.

Estou tentando simplificar o pacote de implantação. Eu entendo que o Sun JDK inclui uma cópia do Metro (vejaessa questão eeste por exemplo), ainda por algum motivo, é aparentemente obrigatório para substituir esta cópia do metro com um baixado do site glassfish. Eu estou tentando entender se é possível sobreviver apenas com o Tomcat e a implementação do metrô que vem com o JDK, ou, se não, por que não.

O conteúdo do WAR é o seguinte (arquivos de classe removidos):

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 contém, em parte:

<servlet>
    <servlet-name>MyService</servlet-name>
    <servlet-class>
        com.sun.xml.ws.transport.http.servlet.WSServlet
    </servlet-class>              
</servlet>

Quando eu removo os webservices- * jars - os jars do Metro - do WAR, o serviço da web falha com o erro "Wrapper não pode encontrar a classe de servlet com.sun.xml.ws.transport.http.servlet.WSServlet ou uma classe isso depende de". Isso não é surpreendente porque não consigo encontrar essa classe em nenhum lugar nos jars que vêm com o Java 7 SE.

Então, o que significa dizer que o Java 7 vem com o Metro, se você tiver que baixar outra cópia do Metro para fazer algo parecido com isso funcionar? É possível executar um serviço da Web JAX-WS no Tomcat usando apenas os jars que vêm com o Java?

questionAnswers(3)

yourAnswerToTheQuestion