Here are the steps to return a tree of objects via a JAX-WS service:
Define the Node class with the necessary JAXB annotations:
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Node {
...
private List<Node> children;
...
@XmlElementRef(type = Node.class)
public List<Node> getChildren() {
return children;
}
...
}
Define the JAX-WS service method:
@WebMethod
public Node getTree() {
...
}
Deploy the service.
Use your IDE to generate the client proxy from WSDL. The client Node type will have:
public List<Node> getNode()
The accessor name changes as a result of the @XmlElementRef annotation.
Comments