Bonjour,

j'ai besoin de serialiser une liste des objets de type Node (voir structure de la classe) par JAXB, alors normalement j'ai les structures des objets et il faut ajouter juste les annonations pour qu'elle marche bien ... c'est ca que j'ai essayé de faire (ajouter des annotations) mais il me donne une exception "nor any of its super class is known to this context."

voila les classes que j'ai :

La classe ListNodes à serialiser 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 a serialiser.

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 a serialiser
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;