我正在使用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
有人可以帮助解决此问题吗?
因为javax.xml.bind.annotation.adapters.XmlAdapter
是抽象类,所以无法实例化。您必须实现您的适配器。
public final class MyAdapter extends XmlAdapter<Type1,Type2> { ... }