为 cxf 生成的类添加前缀

Jur*_*kov 1 cxf jax-ws prefix

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

Tom*_*icz 5

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>
Run Code Online (Sandbox Code Playgroud)

Foo为为类型、匿名类型和元素生成的类添加了前缀。请注意,该schemaLocation属性必须指向实际模式。