Apache CXF 是一个开源的 Web 服务框架,它提供了 WSDL2Java 工具,可以从 WSDL 文件生成 Java 类。如果你需要在使用 CXF 的 WSDL2Java 工具时重命名 WSDL 中的元素,可以通过以下几种方式实现:
wsdlLocation
和 extraargs
-wsdlLocation
参数指定 WSDL 文件的位置。extraargs
参数:
使用 -extraargs
参数传递自定义的 JAXB 绑定文件,以重命名元素。 假设你有一个 WSDL 文件 example.wsdl
,并且你想重命名其中的某个元素。
bindings.xjb
的文件,内容如下:
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.1"> <jaxb:bindings schemaLocation="example.wsdl" node="/xs:schema"> <jaxb:bindings node="//xs:element[@name='OldElementName']"> <jaxb:property name="NewElementName"/> </jaxb:bindings> </jaxb:bindings> </jaxb:bindings>wsdl2java
的 -p
参数如果你只是想为生成的 Java 类指定一个不同的包名,可以使用 -p
参数。
wsdl2java -d outputDirectory -wsdlLocation file:///path/to/example.wsdl -p com.newpackage
如果上述方法都不适用,你可以手动修改生成的 Java 类。这种方法不太推荐,因为每次重新生成代码时都需要手动修改。
领取专属 10元无门槛券
手把手带您无忧上云