Bonjour,

j'ai besoin de sérialiser une liste d'objets de type Node (voir structure de la classe) avec JAXB.
Normalement, j'ai les structures des objets et il faut ajouter juste les annotations pour que ça fonctionne, c'est ce que j'ai essayé de faire (ajouter des annotations) mais j'obtiens une exception
nor any of its super class is known to this context.
Voilà les classes que j'ai :

La classe ListNodes à sérialiser et qui est composée par Node et NodeService

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
@XmlRootElement(name = "ListNodes")
public class ListNodes extends ArrayList<Node> {}
la classe Node qui compose la liste à sérialiser.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Methode", propOrder = {
    "methodId"
})
@XmlRootElement(name = "Node")
 
public class Node implements Serializable{
 
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    transient  protected IMethod id= null;
    @XmlElement(name = "methode")
    protected Methode methodId;
    @XmlAttribute(required = true)
    protected String composant=null;
    @XmlAttribute(required = true)
    protected String packagee= null;
    @XmlAttribute(required = true)
    protected String domaine= null;
    @XmlAttribute(required = true)
    protected boolean traite = false;
    protected List<Node> CalleeDepends= null;
    protected List<Node> CallerDepends= null;
La classe NodeService qui compose la liste à sérialiser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "Methode","Node"
})
@XmlRootElement(name = "NodeService")
public class NodeService extends Node {
 
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @XmlAttribute(required = true)
    private String type= null;
    private Methode methodImplem= null;
La classe Methode qui compose Node.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    ""
})
@XmlRootElement(name = "methode")
public class Methode implements Serializable{
 
    /**
     * 
     */
 
    private static final long serialVersionUID = 1L;
 
    @XmlAttribute(required = true)
    protected String methodName=null;
    @XmlAttribute(required = true)
    protected String className=null;
    protected String[] parametersMethod=null;
Quelqu'un saurait-il m'expliquer ce qui ne va pas ?

Merci d'avance pour votre aide.