6

'org.apache.cxf.tools.wsdlto.WSDLToJava' 将 wsdl 转换为 java 类。

它是在内部使用 JAXB 吗?为什么这个命令能够生成类似于“xjc”创建的类?有人可以解释一下它是如何工作的吗?

4

2 回答 2

8

CXF 在内部使用 xjc 进行代码生成。

更多信息请参考以下(来自CXF官方页面)

在 2.3.0 之前的 CXF 版本中,xjc 插件直接隐藏在大 cxf 捆绑 jar 中。在 2.3.0 中,它们已从 jar 中删除,并单独放入发行版的 lib 目录中。xjc 插件只是代码生成实用程序,在运行时根本不使用,这就是它们被撤出的原因。

Apache CXF XJC-Utils 子项目提供了一组实用程序,用于与 JAXB 一起生成更好或更可用的代码。

目前,它由以下模块组成:

cxf-xjc-plugin   Provides a maven wrapper around the JAXB XJC utility
cxf-xjc-dv   Initialize fields mapped from elements/attributes with their default values
cxf-xjc-ts   Implements the toString() method
cxf-xjc-boolean  Generate getters named getXXX() for Booleans instead of isXXX()
cxf-xjc-wsdlextension    Adds extensions methods to allow generated beans to be used as WSDL4J extensors
cxf-xjc-bug671   Provides a workaround for https://jaxb.dev.java.net/issues/show_bug.cgi?id=671
- Not needed for JAXB >=2.1.12
于 2013-02-04T10:35:14.993 回答
3

WSDL2Java 是一个命令行工具,可以从现有的 WSDL 文档生成 Java 类。生成的类代表客户端存根、服务器骨架和数据类型,它们将帮助您为 WSDL 文档中定义的 Web 服务编写客户端和服务器 Java 程序。

DEFAULT_FRONTEND_NAME = "jaxws";

DEFAULT_DATABINDING_NAME = "jaxb";

有关详细信息,

http://cxf.apache.org/docs/wsdl-to-java.html http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-bundle/2.0.6/org/apache/cxf/tools/wsdlto/WSDLToJava.java

于 2013-01-31T13:30:50.470 回答