【发布时间】:2010-12-16 14:19:45
【问题描述】:
我有一个 WebService,它作为 Web 服务调用的结果返回一个名为“CustomerResponse”的 ResponseObject。当我“从头开始”实现这个对象时,一切正常:在这种情况下,我的实现只包含所有需要的“简单类型”,如字符串、整数,但没有对象引用/关联。
但是我想做的是“重用”现有的对象。我的域模型中有一个“Customer”对象,该对象用于应用程序本身。我不想愚蠢地或多或少地将Customer 克隆到“CustomerReponse”对象中(通过再次手动输入所有成员/字段),我想通过扩展将CutomerResponse 对象基于Customer 对象:
class CustomerResponse extends Customer
==> 问题是现在CustomerResponse 包含一些从Customer 对象(如DatabaseID、Security-Stuff)继承的“内部”字段,我不想通过Web 服务公开这些字段。此外(这也是目前的主要问题”)Customer 还包含很多“对象引用/关联”到其他对象,如 Address、Orders、History,我也不想通过 Web 服务公开.(似乎 Apache CXF “评估”了整个 Objectgraph 并试图将它们包含在 ResponseObject 中......)
==> 是否可以基于现有对象“扩展”WebService 响应对象并以某种方式排除扩展超类型的某些“成员/字段”? (所以我想排除一些成员(如DatabseID)和所有“对象关联”,如(地址/订单/历史).. 我怎样才能做到这一点,用什么注释和程序?
非常感谢!! 一月
【问题讨论】:
标签: jax-ws