使用 CXF 生成代码的 JAXB 绑定

JAXB Bindings for code generation using CXF

我正在使用 CXF codegen 插件和 jaxb 从 WSDL 生成 Java 存根。在绑定中,我已指定存根之一中的一个特定对象必须是字符串对象,即使 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: failed to create a new instance of class javax.xml.bind.annotation.adapters.XmlAdapter java.lang.InstantiationException

有人可以帮助解决这个问题吗?

因为javax.xml.bind.annotation.adapters.XmlAdapter是一个抽象class,无法实例化。您必须实施您的适配器。

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