我有一个需要返回复杂多态值的 JAX-RPC (Java) Web 服务。更具体地说,类结构是这样的:
abstract class Child {
}
class Question extends Child {
private String name;
// other fields, getters, and setters
}
class Section extends Child {
private String label;
private Child[] children;
// getters and setters
}
class Quiz {
private Child[] elements;
// getter and setter
}
我的网络服务有一个返回测验的方法,它当然可能包含问题和部分,其中可能包含问题和其他部分,依此类推。但是,当我生成 WSDL 时,只有 Child 和 Quiz 进入。当我调用 Web 服务时,我得到一个带有正确数量子元素的 Quiz 元素,但它们都是 Child 元素,并且它们都是空的.
除了将 XML 作为字符串返回之外,有没有一种很好的方法来完成这项工作?
在有人问之前,由于我无法控制的情况,我不能使用 JAX-WS。