为cxf生成的类添加前缀

时间:2012-01-14 22:09:08

标签: jax-ws cxf prefix

我使用CXF从wsdl生成Java类。是否可以为所有生成的类名称分配前缀?

1 个答案:

答案 0 :(得分:3)

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属性必须指向实际架构。