Добавьте префикс к классам, сгенерированным cxf - PullRequest
1 голос
/ 15 января 2012

Я использую CXF для генерации классов Java из wsdl.Можно ли назначить префикс всем сгенерированным именам классов?

1 Ответ

3 голосов
/ 15 января 2012

Инструмент 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 должен указывать на фактическую схему.

...