У меня есть веб-сервис JAX-RPC (Java), который должен возвращать сложное полиморфное значение. Чтобы быть более конкретным, структура класса выглядит примерно так:
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. Когда я вызываю веб-сервис, я возвращаю элемент Quiz с нужным количеством дочерних элементов, но все они являются дочерними элементами, и все они пусты .
Есть ли хороший способ сделать эту работу, кроме простого возврата XML в виде строки?
Прежде чем кто-либо спросит, из-за не зависящих от меня обстоятельств я не могу использовать JAX-WS.