用于使用CXF生成代码的JAXB绑定

问题描述 投票:0回答:1

我正在使用CXF codegen插件和jaxb从WSDL生成Java存根。在绑定中,我指定了一个存根中的一个特定对象必须是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.XmlAdapterjava.lang.InstantiationException

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

java jaxb cxf
1个回答
1
投票

因为javax.xml.bind.annotation.adapters.XmlAdapter抽象类,所以无法实例化。您必须实现您的适配器。

public final class MyAdapter extends XmlAdapter<Type1,Type2> { ... }
© www.soinside.com 2019 - 2024. All rights reserved.