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

struct 	{ 	
   int          status
   string       statusMessage 	
   string 	session 	
   array 	data( 	
      struct{ 	
            int 	id 	
            string 	name
             } 	
                     )
         }

Prepsana struktura do C#:

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
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

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