use*_*057 9 java web-services cxf jax-ws jaxb
我正在使用JAXB绑定直接解组到我的域层对象,这些对象是生成的Web服务类型的子类.这是一个很好的解决方案,因为我可以覆盖方法并提供写自定义逻辑等.但是,XJC编译器坚持在所有生成的类上放置@XmlSeeAlso({MySubclass.class})注释,这导致它们成为紧密耦合到我的域对象.这显然是不可取的,并导致我的项目之间的各种参考问题,我将不会在这里.
是否可以生成没有@XmlSeeAlso注释的类?解组到子类的实际工作似乎发生在ObjectFactory类中.是否可以省略jaxb绑定,并为每个应用程序替换自定义ObjectFactory?这将允许我在共享的util中具有自动生成的webservice类型,而每个web项目可以解组为这些类型的不同子类.
<jaxb:bindings node="//xs:complexType[@name='AutogeneratedWebserviceType']">
<jaxb:class implClass="my.project.CustomSubclass" />
</jaxb:bindings>
Run Code Online (Sandbox Code Playgroud)
这个绑定将在ObjectFactory中创建一个方法,它似乎可以对我的子类进行解组的实际工作:
public AutogeneratedWebserviceType createAutogeneratedWebserviceType() {
return new CustomSubclass();
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,通过提供客户ObjectFactory,我想要没有@XmlSeeAlso注释的这种行为.
| 归档时间: |
|
| 查看次数: |
1524 次 |
| 最近记录: |