WebElektronika
Kliens készítése a JSON-t használó host-hoz
Korábban bemutattunk egy host alkalmazást, amely JSON-t használ. Most ehhez a szolgáltatáshoz készítünk el egy klienst.
A host-nál kipublikáltunk egy alkalmazást, amely az adatokat szérializálja. A kliensnél az a feladatunk, hogy a sorosított adatokat visszaszérializáljuk.
Indítsuk el a VS2012-t és hozzunk létre egy projektet (1. ábra).
1. ábra Projekt létrehozása
Ezután adjunk hozzá a projekthez egy osztályt, amelynek a neve legyen : "jarmu". Ezt követően adjuk hozzá a Newtonsoft dll-ét (2. ábra).
2. ábra A Newtonsoft dll hozzáadása
A harmadik ábrán látható a projektünknek a Solution Explorer-e.
3. ábra Solution Explorer
Adjuk hozzá a projektünkhöz a használni kívánt webszolgáltatásunk URL-jét, tehát reisztráljuk be a webszolgáltatást (4. ábra).
4. ábra A webszolgáltatás hozzáadása a projekthez
A jarmu nevű osztályban vegyük fel a következő tulajdonságokat :
namespace ConsoleKliensJSON1
{
public class jarmu
{
public string Gyarto { get; set; }
public string Modell { get; set; }
public string Kivitel { get; set; }
public string Szin { get; set; }
public bool isSerult { get; set; }
public int GyartasEv { get; set; }
}
}
Ezután egésztsük ki a Main metódusunkat a következőek szerint :
static void Main(string[] args)
{
ServiceReference1.peldaSoapClient sp =
new ServiceReference1.peldaSoapClient();
try
{
string adat = sp.getAutok();
JToken.Parse(adat);List<jarmu> kocsi = JsonConvert.DeserializeObject<List<jarmu>>(adat);
Console.WriteLine("Autók száma : " + kocsi.Count());
jarmu c1 = kocsi[1];
Console.WriteLine(c1.Modell+", "+c1.GyartasEv);Console.WriteLine("OKÉ");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}Console.ReadLine();
}
Először a webszolgáltatásunk névterében található "peldaSoapClient" osztályt példányosítjuk "sp" néven, majd a kivételkezelés blokkban az "adat" stringben eltároljuk a lekért, sorosított autóadatokat.
Ezután parsolást hajtunk végre, amely, ha nem sikeres, akkor kivételdobás történik. Sikeres parsolásnál, tehát megfelelel a JSON szabványnak a lekért adat, akkor létrehozzuk a "kocsi" nevű listánkat.
Ebben a listában a lekért és visszaszérializált adatok (jelen esetben a különböző autók adatai) találhatók meg.
Indítsuk most el debug módban a programunkat. Sajnos hibát jelez a fejlesztőszoftverünk, nem fog elindulni az alkalmazásunk. A megoldás az, hogy nem a .NET4-es keretkörnyezetet kell használnunk, hanem a 4.5.2-es verziójút (5. ábra).
5. ábra A használt .NET keretkörnyezet megváltoztatása
Indítsuk el újra debug módban az alkalmazásunkat. Ha a host szolgáltatásunk működik, akkor kiírjuk a konzolra a lista első elemének a modellnevét, illetve annak a gyártási évét, majd a következő sorban az "OKÉ"-t. Az Enter leütése után kilépünk a programból.
6. ábra A futási eredmény