Java Web 服务: CXF 简介
2010-03-31 00:00:00 来源:WEB开发网清单 2 WEB-INF/cxf-servlet.xml 文件只有一个端点定义,其中包括一个实现类、请求的匹配模式以及 WSDL 文档位置。WSDL 文档位置是这个端点定义中惟一的可选项。如果在 cxf-servlet.xml 文件中不指定服务端点的 WSDL 文档,CXF 会在运行时基于 JAX-WS 注释自动生成一个 WSDL 文档。
构建和运行示例代码
捆绑带来的问题
从 Java SE 6 开始,JAXB 2.x 和 JAX-WS 2.x 参考实现运行时(除了供应商扩展)成为标准 Java Runtime Environment (JRE) 库的一部分。其本意是鼓励将这些技术作为 Java 标准使用,但是这也带来一个副作用:为了使用这些技术的更新的版本,可能需要更改 JRE 的安装。
示例应用程序下载文件中使用的 build.xml 将所需的 CXF JAR 文件直接复制到服务 WAR 文件。使用 Java SE 5 构建时,这包括 JAXB 和 JAX-WS JARs;当使用 Java SE 6 构建时,构建依赖于 JVM 安装中 JAXB 和 JAX-WS 的版本。使用 Java SE 6 或更高版本时,如果类装载冲突在 JAXB 或 JAX-WS 代码内产生问题,检查一下您正在使用的 CXF 发行版是否有任何 JVM 兼容性说明。
在运行示例代码之前,首先需要下载并在系统上安装当前版本的 Metro。示例代码经过 2.2.5 版的测试。另外还需要对解压的示例代码根目录中的 build.properties 文件进行编辑,将 cxf-home 属性的值改为 CXF 安装目录的路径。如果要使用不同的系统或端口上的服务器进行测试,那么需要更改 host-name 和 host-port。
要使用所提供的 Ant build.xml 构建示例应用程序,打开一个控制台,进入下载文件的根目录,输入 ant。这将首先调用 CXF wsdl2java 工具(包括在 CXF 中),然后编译客户端和服务器,最后将服务器代码打包为 WAR。接着可以将生成的 cxf-library.war 文件部署到测试服务器,并在控制台输入 ant run 尝试运行示例客户端。示例客户端运行,经过一系列对服务器的请求,打印出每个请求的简要结果。正如在 客户端的使用 中所提到的,构建过程会配置 CXF 日志记录,以避免运行示例客户端时打印配置细节。
更多精彩
赞助商链接