【发布时间】:2012-01-14 22:09:08
【问题描述】:
我使用 CXF 从 wsdl 生成 Java 类。是否可以为所有生成的类名分配前缀?
【问题讨论】:
我使用 CXF 从 wsdl 生成 Java 类。是否可以为所有生成的类名分配前缀?
【问题讨论】:
wsdl2java 工具有一个-b 选项:
-b |绑定名称 |指定 JAXWS 或 JAXB 绑定文件或 XMLBeans 上下文文件。使用多个 -b 标志来指定多个条目。
您提供的绑定文件需要有以下内容:
<jxb:bindings version="1.0"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc">
<jxb:bindings schemaLocation="../xsd/schema.xsd" node="/xs:schema">
<jxb:schemaBindings>
<jxb:nameXmlTransform>
<jxb:typeName prefix="Foo"/>
<jxb:anonymousTypeName prefix="Foo"/>
<jxb:elementName prefix="Foo"/>
</jxb:nameXmlTransform>
</jxb:schemaBindings>
</jxb:bindings>
</jxb:bindings>
这会将Foo 前缀添加到为类型、匿名类型和元素生成的类中。请注意,schemaLocation 属性必须指向实际的架构。
【讨论】: