使用CXF生成与发布WSDL服务端代码指南

需积分: 10 1 下载量 115 浏览量 更新于2024-09-07 收藏 347KB DOCX 举报
"cxf服务端wsdl发布帮助.docx" Apache CXF 是一个开源的 Java 框架,它用于构建和部署 Web 服务。本文档主要关注如何使用 CXF 在服务端发布 WSDL(Web Service Description Language)文件,并自动生成相应的 Java 代码。WSDL 文件是一种 XML 文档,用于描述 Web 服务的接口、消息格式以及如何调用这些服务。 首先,你需要有一个准备好的 WSDL 文件,例如 `xxx.wsdl`。将这个文件放置在你方便访问的目录,比如 D 盘。确保你的开发环境中已经安装了与 CXF 版本兼容的 JDK。在本例中,使用的是 CXF 3.0.9,所以你需要检查 Java_HOME 环境变量设置是否正确,以确保 CXF 和 JDK 版本匹配。 接下来,打开命令行(Cmd),进入 CXF 的 bin 目录。例如,如果是 `D:\apachecxf\apache-cxf-3.0.9\bin`。在这里,你可以运行 `wsdl2java` 命令来生成服务端和客户端的 Java 代码。这个命令的参数包括: - `-pcom.org.ws.sales.server`:指定生成的 Java 类的包路径,可以根据实际需求或 WSDL 文件中的 `targetNamespace` 属性来设定。 - `-dd:\createCode\cxf30\src`:指定生成的 Java 文件保存的目录。 - `-all`:表示要生成客户端、服务端和 Factory 相关的所有文件。 - `D:/xxx.wsdl`:WSDL 文件的完整路径。 例如,完整的命令可能是: ``` wsdl2java -pcom.org.ws.sales.server -dd:\createCode\cxf30\src -all D:/wsdlFile/GfmWSGFMacc00201Interface.wsdl ``` 执行此命令后,你会在指定的目录下看到生成的 Java 文件。将这些文件复制到你的 Web 工程中相应的位置。通常,这些文件会包括 VO(Value Object)、Entity、Impl(实现类)和服务接口等。你可能需要根据业务逻辑和模块结构来组织这些文件,并更新代码中的 package 路径。 对于 Web 工程,你需要将 CXF 3.0 的所有 jar 包引入到你的项目库(lib)中。尽管测试表明列出的某些 jar 包足以满足需求,但为了避免潜在问题,建议一开始引入所有 CXF 相关的 jar 包,之后可以根据需求进行精简。 当 CXF 作为客户端使用时,会生成一个类似 `xxxxPort_Client.java` 的类,其中包含一个主方法。这个类提供了调用服务的入口。在代码中,`WSDL_LOCATION` 是一个常量,通常用来存储 WSDL 文件的 URL,例如 `ICorRspWSBSGFMacc00201Service.WSDL_LOCATION`。 本文档提供了一种使用 Apache CXF 从 WSDL 文件生成 Java 代码并发布服务的方法,以及如何在客户端使用这些生成的代码来调用服务。理解并熟练掌握这一流程对于开发基于 CXF 的 Web 服务至关重要。