【问题标题】:Cyclic references in jaxb and jax-wsjaxb 和 jax-ws 中的循环引用
【发布时间】:2012-05-09 11:20:34
【问题描述】:

我正在使用 jax-ws 编写客户端和服务器。 我的一个 bean 对父级有循环引用。为了防止循环,我为我的 bean 使用了 @XMLId 和 @XMLIDRef 注释。

class A {
    // simple fields
    A parent;

    @XMLID
    String getID() {}

    @XMLIDRef
    A getParent() {}
}

现在我通过 web 方法返回 bean,一切都按我的预期工作。 但是,如果我尝试将此 bean 作为输入参数传递给方法,则通过

A obj1 = //...
A obj2 = //...
obj2.setParent(obj1); 
ws.updateA(obj2); // web-method signature is updateA(A a)

(这里的bean是由wsimport工具生成的)

我的行为很奇怪。客户端使用 obj2 发送 SOAP 请求,其中父对象仅作为 obj2 中的引用存在。所以,obj2在服务器端无法正常解码,Parent属性为null。

所以,问题是:“我哪里错了,不了解网络服务?”
我希望客户端会发送带有对象和父对象的请求,它们将通过引用链接。

【问题讨论】:

    标签: java web-services jakarta-ee soap


    【解决方案1】:

    看起来很有趣,但您的问题与网络服务无关,只是与编组/解组。我猜你的情况是JAXB。我建议您相应地标记您的问题,我相信您会得到更多相关的答案。

    同时,请发布 wsdl 文件(用于其中的架构)和此类 A 的完整源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 2012-01-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 1970-01-01
      相关资源
      最近更新 更多