JAX-WS-Implementierung in Java enthalten?

Ich habe eine JAX-WS-Webdienstanwendung, die als WAR-Datei für Tomcat 7 bereitgestellt wird. Sie verwendet eine aktuelle Version der Metro-Bibliotheken, die ich in die WAR-Datei einbinde, und funktioniert einwandfrei.

Ich versuche, das Bereitstellungspaket zu vereinfachen. Ich verstehe, dass das Sun JDK eine Kopie von Metro enthält (siehediese Frage unddieses Beispiel:) Aus irgendeinem Grund ist es anscheinend obligatorisch, diese U-Bahn-Kopie durch eine Kopie zu ersetzen, die von der Glassfish-Website heruntergeladen wurde. Ich versuche zu verstehen, ob es möglich ist, mit nur Tomcat und der Metro-Implementierung, die mit dem JDK geliefert wird, auszukommen, oder wenn nicht, warum nicht.

Die WAR-Inhalte lauten wie folgt (Klassendateien entfernt):

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 enthält zum Teil:

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

Wenn ich die webservices- * jars - die Metro-jars - aus der WAR-Datei entferne, schlägt der Webdienst mit dem Fehler "Wrapper kann die Servlet-Klasse com.sun.xml.ws.transport.http.servlet.WSServlet oder eine Klasse nicht finden" fehl es hängt davon ab". Dies ist nicht überraschend, da ich diese Klasse nirgendwo in den Jars finden kann, die mit Java 7 SE geliefert werden.

Was bedeutet es also, dass Java 7 mit Metro geliefert wird, wenn Sie eine weitere Kopie von Metro herunterladen müssen, damit so etwas funktioniert? Ist es möglich, einen JAX-WS-Webdienst in Tomcat nur mit den in Java enthaltenen Jars auszuführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage