Привязки JAXB для генерации кода с использованием CXF - PullRequest
0 голосов
/ 07 апреля 2020

Я генерирую заглушки Java из WSDL с использованием плагина CXF codegen и jaxb. В привязках я указал, что один конкретный объект в одной из заглушек должен быть объектом String, даже если XSD указал его как целое число.

Привязка:

<jxb:bindings schemaLocation="../../../../../WSDL_Package/ABC/ABC_1.xsd">
        <jxb:bindings node="//xs:complexType[@name='TypeI']//xs:sequence//xs:element[@name='number']">
            <xjc:javaType name="java.lang.String" adapter="javax.xml.bind.annotation.adapters.XmlAdapter" />
        </jxb:bindings>
    </jxb:bindings>

Но при использовании заглушек в моем проекте я получаю исключение

INFO: не удалось создать новый экземпляр класса javax. xml .bind.annotation.adapters.XmlAdapter java. lang.InstantiationException

Может ли кто-нибудь помочь с решением этой проблемы?

1 Ответ

1 голос
/ 21 апреля 2020

Потому что javax.xml.bind.annotation.adapters.XmlAdapter является абстрактным классом и не может быть создан. Вы должны реализовать свой адаптер.

public final class MyAdapter extends XmlAdapter<Type1,Type2> { ... }
...