我使用CXF代码生成插件和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>
但是在我的项目中使用存根时,我得到了异常
信息:无法创建类的新实例javax.xml.bind.annation.adapters.XmlAdapterjava.lang.InstructionException
有人能帮助解决此问题吗?
因为javax.xml.bind.annotation.adapters.XmlAdapter
是抽象类,无法实例化。您必须实现适配器。
public final class MyAdapter extends XmlAdapter<Type1,Type2> { ... }