Me dijeron que se supone que Java 7 incluye JAX-WS de modo que no necesito bibliotecas como las de Apache CXF. Sin embargo, el official docs dicen:¿Java 7 incluye una implementación de JAX-WS o solo la API?
Este comunicado contiene API Java para Procesamiento de XML (JAXP) 1.4.5, apoya jaxb (JAXB) 2.2.3, y apoya API de Java para servicios web XML (JAX-WS) 2.2.4.
Además, el Eclipse page on JAX-WS habla de utilizar implementaciones como Apache CXF, Sun Metro o Apache Axis. Y cada ejemplo/tutorial que puedo encontrar en JAX-WS usa una biblioteca configurada como CXF o Metro.
Tengo un proyecto en Eclipse que llama "Endpoint.publish (...)" en una clase con una anotación javax.jws.WebService. El archivo WSDL al que se hace referencia a continuación reside fuera de Eclipse. Este proyecto se ejecuta (como una "Aplicación Java") bien con las bibliotecas Apache CXF incluye. Tan pronto como me los quito (Eclipse y referencias a Apache CXF), se estrella con la siguiente excepción:
com.sun.xml.internal.ws.server.ServerRtException: [failed to localize] cannot.load.wsdl(http://localhost:8081/wsdl/csw.wsdl)
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(EndpointImpl.java:313)
Así que, o estoy haciendo algo mal o Apache es el suministro de implementaciones de cosas a las que el propio sólo de JDK tiene API. Por favor, indique cuál es el caso, junto con el enlace habitual a algo relevante.
Java 7 contiene una implementación de JAX-WS, pero es bastante limitada en comparación con CXF o Metro. –