Mi viene detto che Java 7 dovrebbe includere JAX-WS in modo tale che non abbia bisogno di librerie come quelle di Apache CXF. Tuttavia, il official docs dicono:Java 7 include un'implementazione JAX-WS o solo l'API?
Questa release contiene API Java per l'elaborazione XML (JAXP) 1.4.5, supporta Java Architecture for XML Binding (JAXB) 2.2.3, e supporta Java API per servizi Web XML (JAX-WS) 2.2.4.
Inoltre, la Eclipse page on JAX-WS parla di utilizzare implementazioni come Apache CXF, Metro Sole, o Apache Axis. E ogni esempio/tutorial che posso trovare su JAX-WS utilizza un set di librerie come CXF o Metro.
Ho un progetto in Eclipse che chiama "Endpoint.publish (...)" su una classe con un'annotazione javax.jws.WebService. Il file WSDL a cui si fa riferimento di seguito risiede all'esterno di Eclipse. Questo progetto gira (come una "Applicazione Java") bene con le librerie di Apache CXF include. Non appena rimuovo loro (ed Eclipse riferimenti a Apache CXF), si blocca con la seguente eccezione:
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)
Quindi, o sto facendo qualcosa di sbagliato o Apache sta fornendo implementazioni di cose a cui il JDK se stesso solo ha API. Si prega di indicare quale è il caso, insieme al solito link a qualcosa di rilevante.
Java 7 contiene un'implementazione JAX-WS ma è piuttosto limitata rispetto a CXF o Metro. –