使用 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> { ... }
我正在使用 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> { ... }