Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
KlientusługisieciWeb
41
Wpoluoznaczonymnumerem1zostaływyświetlanemetody,któreudostępnia
danausługawebowa.Zostałyoneprzedstawionewpunkcie3.2.Wpoluoznaczonym
numerem2należywpisaćnazwędodawanejreferencji.Nazwataposłużyjakoprzed-
rostekjednoznacznieidentyfikującydanąusługęwebową.Wrozważanymprzypadku
wybranonazwęGoogle.PowciśnięciuprzyciskuAddReference,oznaczonegonume-
rem3,VisualStudio.NETwygenerujepośrednika(ang.proxy),któryumożliwia
korzystaniezusługiwebowej.Całyprocesgeneracjipośrednikajestdośćskompliko-
wany,aleodbywasięcałkowicieautomatycznieiniewymagażadnejdalszejingeren-
cjiużytkownika.
Napotrzebypośrednikamożepowstaćcałyszeregklas.Wrozważanymprzy-
padkutoklasyDirectoryCategory,GoogleSearchResult,GoogleSearch-
SerViceorazResultElement.Wszystkiepowstałynapodstawieopisuusługi
webowejzawartejwplikuWSDL.Najważniejsządlaprojektowanejaplikacjijest
klasaGoogleSearchSerVice,bowłaśniewniejzawartemetodywykorzystane
wprzeglądarce,tj.doGoogleSearch()orazdoGetCachedPage().Najważniejsze
wtejklasiejestjednakto,żedostępdojejmetodjestlokalny,alesamemetodywy-
konywanezdalnie(naserwerachGoogle).Programistaniemusisiętymmartwić,
anawetmożeniezdawaćsobieztegosprawy.
3.4.
Działanieprzeglądarki
Pomimożekodźródłowyprojektowanejprzeglądarkiniejestduży,tojednak
omówieniegowcałościwykraczapozaramyniniejszejksiążki.Ztegopowoduprzy-
toczonojedynienajważniejszejegofragmenty,ilustrującewykorzystanieusługwe-
bowych.Cały,obszerniekomentowany,kodźródłowyznajdujesięwInterneciepod
adresempodanymwewstępie.
GłównąklasąaplikacjijestSearchForm.Dwanajważniejszeskładnikitejklasyto:
GoogleSearchSerVicegss=newGoogleSearchSerVice();
GoogleSearchResultgsr=null;
PierwszyznichtoobiektklasyGoogleSearchSerVice,zapomocąktórego
jestprzeprowadzanecałewyszukiwanie.Drugiskładnikreprezentujewynikiwyszu-
kiwania.Początkowowartośćobiektugsrustawianajestnanullpoprawnawar-
tośćzostaniemuprzypisanajakowynikdziałaniametodydoGoogleSearch().
3.4.1.
Wyszukiwanie
WyszukiwanieodbywasięmetodąSearch()listing3.1.