Bonsoir et merci a tous ceux qui me liront!

J'ai coder un service REST (en PHP avec NetBeans) qui va chercher dans une BdD ce que demande un client pour remplir puis envoyer une chaine XML.
J'ai fais des test via Chrome et IE, la structure XML renvoyée est correct.

La voici:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version='1.0'?>
    <Appareils>
        <Appareil>
            <id>{$datas[0]['idAppareil']}</id>
            <nom>{$datas[0]['Nom']}</nom>
            <IP>{$datas[0]['AdIP']}</IP>
        </Appareil>
        <Appareil>
            <id>{$datas[1]['idAppareil']}</id>
            <nom>{$datas[1]['Nom']}</nom>
            <IP>{$datas[1]['AdIP']}</IP>
        </Appareil>
    </Appareils>

Le service me retourne ceci (qui est correct):
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version='1.0'?> 
    <Appareils>
        <Appareil>
            <id>1</id>
            <nom>S-BOARD-SRA</nom>
            <IP>192.168.200.215</IP>
        </Appareil>
        <Appareil>
            <id>2</id>
            <nom>S-BOARD-ORT</nom>
            <IP>192.168.156.223</IP>
        </Appareil>
    </Appareils>


Le problème c'est avec mon client C#: Lors de l’exécution de son code une AggregateException est levé. J'ai chercher un peu sur internet mais rien trouver qui résout mon problème.

En faisant des tests je suis arriver a voir que ce qu'il reçoit est bien le XML avec la bonne structure:
Nom : Erreur 1.PNG
Affichages : 235
Taille : 4,4 Ko

Je suis aussi a afficher l'erreur le Message de l'Exception:
Nom : Erreur 2.PNG
Affichages : 286
Taille : 24,3 Ko


Maintenant voila mon code:
Les classe en C# (générer avec http://xmltocsharp.azurewebsites.net/ ):
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
using System.Collections.Generic;
using System.Xml.Serialization;
 
 
namespace SRA
{
    [XmlRoot(ElementName = "Appareil")]
    public class Appareil
    {
        [XmlElement(ElementName = "id")]
        public string Id { get; set; }
        [XmlElement(ElementName = "nom")]
        public string Nom { get; set; }
        [XmlElement(ElementName = "IP")]
        public string IP { get; set; }
    }
 
    [XmlRoot(ElementName = "Appareils")]
    public class Appareils
    {
        [XmlElement(ElementName = "Appareils")]
        public List<Appareil> Appareil { get; set; }
    }
 
}



Le Main du client C#:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Net.Http.Headers;
using SRA;
 
namespace SRA
{
    class Program
    {
        static void Main(string[] args)
        {
            HttpClient ClientOne = new HttpClient();
 
            ClientOne.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml"));
 
            string urlSRA = "http://localhost/PROJET/TEST/projetSRA/services/listeAppareils.xml.php/appareil"; //requete sur le serveur REST: demande la liste des appareils
                                                                                                               //contenus dans la BdD 'sra' et table appareil
 
            HttpResponseMessage sraInfo = ClientOne.GetAsync(urlSRA).Result;
 
            try
            {
                if(sraInfo.IsSuccessStatusCode)
                {
                    string test=sraInfo.Content.ReadAsStringAsync().Result;
                    Console.WriteLine(test+"\n\n\n"); //affiche la chaine XML reçue du serveur
 
                    Console.WriteLine(sraInfo.Content.ReadAsAsync<Appareils>().Exception);          //affiche le "message" d'erreur
 
                    /*Appareils Apps = sraInfo.Content.ReadAsAsync<Appareils>().Result;             //a la base l'erreur est levée par cette ligne, signal juste une AggregateException
                    foreach (Appareil App in Apps.Appareil)                                             //le foreach affiche les propriété de chaque appareil
                    {
                        Console.WriteLine("ID: {0}; Nom: {1}; IP: {2}", App.Id, App.Nom, App.IP);
                    }*/
 
                }
                else
                { Console.WriteLine("{0} ({1})", (int)sraInfo.StatusCode, sraInfo.ReasonPhrase); }
            }
 
 
            catch (System.AggregateException Exception)
            { Console.WriteLine(Exception.Message); }
 
 
            finally
            { Console.ReadKey(); }
        }
    }
}

D'après ce que j'ai compris de l'erreur sur la 2ème image, il s'attends à recevoir un 'Appareils' et reçoit un 'Appareils'.
J'ai essayer sans la 1ère ligne du XML, de changer le nom des classes etc, rien n'a marcher.
Je sais pas trop où regarder là, help pls .