struct XML-RPC   otázka

C#

Zdravím,

mám problém s přepisem struktury xml-rpc. Už si nevim rady. Pořád mi to vyhazuje chybu "response contains struct value with missing non-optional members: data session [response : struct mapped to type list]". Knihovnu pro čtební xml-rpc používám CookComputing.

děkuji za pomoc.

Struktura:

Response

1
2
3
4
5
6
7
8
9
10
11
struct  {  
   int          status
   string       statusMessage  
   string   session    
   array    data(  
      struct{  
            int     id 
            string  name
             
                     )
         }

Prepsana struktura do C#:

1
2
3
4
5
6
7
8
9
10
11
12
public struct list
    {
        public int status;
        public string statusMessage;     
        public string session;
        public list_of_data;
 
        public struct list_of_data
        {
            public XmlRpcStruct list_of_data;
        }
    }
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Evidentně v té struktuře máte něco navíc. Zjistěte si přes nějaký nástroj, např. Fiddler, co přesně server pošle za odpověď. V ní bude chybět nějaké políčko, které v té struktuře definované máte.

Pokud tam nemá co dělat, odstraňte ho, pokud je opravdu volitelné, tak tu strukturu označte atributem [XmlRpcMissingMapping(MappingAction.Ignore)].

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nakonec jsem na to prisel. Tak kdyby nahodou nekdo resil neco podobneho tak tu davam reseni.

Reseni:

public struct list

{

public int status;

public string statusMessage;

public string session;

public Data[] data;

}

public struct Data

{

public int id;

public string name;

public Data(XmlRpcStruct s)

{

id = (int)s["id"];

name = s["name"].ToString();

}

}

nahlásit spamnahlásit spam 0 odpovědětodpovědět

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback