Lucrul cu serverele web pe php prin săpun

Lucrul cu serverele web pe php prin SOAP

Nu voi vorbi despre ce servicii web sunt și de ce sunt necesare. Există o mulțime de articole despre acest subiect în rețea. Încercați să arătați pe scurt cât de ușor este crearea unui client pentru orice serviciu web pe php.







Nu uitați să reporniți serverul dacă php este instalat ca modul.

Crearea unui client SOAP pentru un document WSDL

Al doilea punct important este acela că din descrierea serviciului web este necesar să se obțină informații despre metodele pe care acest serviciu le oferă și ce parametri ar trebui să îi trecem ca valori de intrare (foarte asemănătoare cu apelarea funcției uzuale sau a metodei de clasă obișnuite). De obicei, aceste informații figurează în descrierea serviciului pe site-ul său web. Serviciul nostru web oferă o metodă getRate () pentru primirea ratelor de schimb valutar, cărora li se aplică codurile valutare ca argumente.







În fine, este important să știm la ce să ne așteptăm ca răspuns: câte valori, ce tip, etc. Acest lucru poate fi obținut și din descriere.
Ca rezultat, codul este foarte simplu și compact, aproape elementar:

// Trimiteți solicitarea SOAP și obțineți rezultatul
$ result = $ client-> getRate ("noi", "russia");

echo "Rata actuală de schimb dolar: ', $ result,' rubles ';
?>

După cum puteți vedea din codul din constructorul clasei SoapClient, trebuie să treceți adresa URL a documentului WSDL și să obțineți obiectul să funcționeze cu serviciul web dorit. Apoi se numește metoda acestui obiect, al cărui nume coincide cu numele metodei serviciului web în sine. Această metodă este returnată de rezultatul dorit.

Deci, acest exemplu simplu ilustrează principiul construirii unui client SOAP pentru servicii web pe php. Cu toate acestea, într-o aplicație reală, va trebui să se acorde mai multă atenție în special faptului că, în momentul accesării serviciului web, acesta poate fi temporar indisponibil sau poate repeta o eroare. Explicit sugerează utilizarea blocului try / catch / throw :-)







Trimiteți-le prietenilor: