Java 7 是包含 JAX-WS 实现还是仅包含 API?
我被告知Java 7应该包含JAX-WS,这样我就不需要像Apache CXF中的库。但是,官方文档说:
此发行版包含用于 XML 处理的 Java API (JAXP) 1.4.5,支持 Java Architecture for XML Binding (JAXB) 2.2.3,并支持 Java API for XML Web Services (JAX-WS) 2.2.4。
此外,JAX-WS 上的 Eclipse 页面谈到了使用 Apache CXF、Sun Metro 或 Apache Axis 等实现。我在 JAX-WS 上找到的每个示例/教程都使用一个库集,如 CXF 或 Metro。
我在Eclipse中有一个项目,它在一个带有javax.jws.WebService注释的类上调用“Endpoint.publish(...)”。下面引用的 WSDL 文件位于 Eclipse 外部。这个项目运行(作为一个“Java应用程序”)与Apache CXF库包含。一旦我删除了它们(以及Eclipse对Apache CXF的引用),它就会崩溃,出现以下异常:
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)
因此,要么是我做错了什么,要么是Apache提供了JDK本身只有API的东西的实现。请指出是哪种情况,以及指向相关内容的通常链接。