Bonjour,

Je suis face a un probleme que je n'arrive pas a resoudre depuis quelques jours...

Je remonte des objets via nHibernate et j'aimerais les passer par mon webservice mais je n'arrive pas a le faire car je me retrouve toujours avec des exceptions:

voici le code de ma methode du WS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    [WebMethod, XmlInclude(typeof(Player)), XmlInclude(typeof(Location))]
    public Location load()
    {
   RemonteLoc rl = new RemonteLoc();
   Location l = rl.remonte();
 
    return l;
    }
En gros j'appelle simplement une methode d'une couche inferieur qui doit me retourner un objet

Et voici par exemple 2 de mes classe nhibernate
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using System;
using System.Xml.Serialization;
 
namespace AccessLayer.NHibernateClasses
{
    [Serializable]
    public class Location
    {
 
        private System.Int32 idlocation;
        private System.String locationname;
        private System.Collections.IList players;
        private System.Int32 postcode;
 
        public virtual System.Int32 Idlocation
        {
            get
            {
                return idlocation;
            }
            set
            {
                idlocation = value;
            }
        }
 
        public virtual System.String Locationname
        {
            get
            {
                return locationname;
            }
            set
            {
                locationname = value;
            }
        }
 
 
        public virtual System.Collections.IList Players
        {
            get
            {
                return players;
            }
            set
            {
                players = value;
            }
        }
 
        public virtual System.Int32 Postcode
        {
            get
            {
                return postcode;
            }
            set
            {
                postcode = value;
            }
        }
 
        public override bool Equals(object obj)
        {
            return base.Equals(obj);
        }
        public override int GetHashCode()
        {
            return base.GetHashCode();
        }
        public override string ToString()
        {
            return base.ToString();
        }
 
 
 
 
    }
}
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using System;
using System.Xml.Serialization;
namespace AccessLayer.NHibernateClasses
{
    [Serializable]
    public class Player
    {
 
        private System.Int32 idplayer;
        private System.Int32 actualhandicap;
        private System.DateTime birthday;
        private Location idlocation;
 
 
        public virtual System.Int32 Idplayer
        {
            get
            {
                return idplayer;
            }
 
            set
            {
                idplayer = value;
            }
        }
 
        public virtual System.Int32 Actualhandicap
        {
            get
            {
                return actualhandicap;
            }
            set
            {
                actualhandicap = value;
            }
        }
 
        public virtual System.DateTime Birthday
        {
            get
            {
                return birthday;
            }
            set
            {
                birthday = value;
            }
        }
 
        public virtual Location Idlocation
        {
            get
            {
                return idlocation;
            }
            set
            {
                idlocation = value;
            }
        }
 
 
 
 
        public override bool Equals(object obj)
        {
            return base.Equals(obj);
        }
        public override int GetHashCode()
        {
            return base.GetHashCode();
        }
        public override string ToString()
        {
            return base.ToString();
        }
 
 
 
 
    }
}
En gros j'aimerais savoir comment obtenir sur mon client une localite contenant mon ilist de players....

Je me retrouve souvent avec une circular reference. Sinon j'ai aussi essayé les xmlinclude etc... Je m'en sors plus.

Merci d'avance