![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 2 Dołączył: 13.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jestem aktualnie na etapie czyania pewnej książki i dotarłem do typów usług sieciowych. No i pojawił się problem nie dokońca chyba rozumiem zagadnienie SOAP. Jeśli byłby ktoś kto miał z tym doczynienia byłbym wdzięczny, gdyby odpowiedział mi na poniższe pytania: Jak korzystać z SOAP(mile widziane przykłądy)? Do czego SOAP może być przydatne(tylko nie na przykładzie walut(takie moje fanaberie ![]() Może małe porady jak to ugryść od strony PHP, jakiś tuturial, kurs cokolwiek(szukałem, ale nie znalazłem nic co byłoby napisane w stylu soapClient - służy do tego tamtego, przykład, przeglądałem manuala, lecz jeszcze mój angielski lekko kuleje a poza tym opisy są tak 'obszerne', że dla człowieka, który nie wiem na temat SOAP prawie nic niewiele pomagają)? mile widziane dodatkowe informacje ^^ |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 1.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Też od niedawna mam do czynienia z SOAP, muszę powiedzieć że bardzo mi się to spodobało.
Z tego co ja zrozumiałem, to SOAP służy do udostępniania, dla klientów zdalnych, funkcji które wykonywane są na serwerze na którym usługa SOAP działa. Do czego można wykożysać? W zasadzie do wszystkiego :-). Jeżeli chodzi o obsługę po stronie klienta, to jest banalna:
W przykładzie zdalny serwer SOAP udostępnia funkcje która dodaje dwie liczby podane jako parametry. Klient wywołuje tą funkcje wraz z żądanymi parametrami, zdalny serwer ją wykonuje (w przykładzie liczy ile to jest 3+5) i zwraca wynik do klienta. Ciało funkcji na serwerze wyglądać może mniej więcej tak:
Przykład bardzo trywialny, ale chodzi zrozumienie sensu. Popularnym przykładem zastosowania w praktyce są właśnie kursy walut. Na serwerze jest baza danych z nazwą waluty, kursem i datą. SOAP udostępnia funkcje np. podajKurs($data, $waluta, $kurs). Ty jako klient wykonujesz 2 proste polecenia: 1. tworzenie obiektu soap i połączenie się ze zdalnym serwerem 2. wywołanie funkcji Nie musisz zastanawiać się jak wygląda baza danych, łączenia się z nią, wybierania selectem z warunkami aby otrzymać określony rezultat. Innym przykładem mogą być systemy do masowego wysyłania smsów. Serwery firm oferujących takie usługi "coś tam robią", a ty dostajesz funkcje wyslijSMS($lista_numerow, $tresc) i nawet sie nie zastanawiasz nad tym, co ten serwer będzie robił i jak długo. Mam nadzieję, że trochę rozjaśniłem kwestię - przynajmniej od strony obsługi po stronie klienta. Pozdrawiam Stefan |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 279 Pomógł: 42 Dołączył: 10.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Od ponad roku pracuję z SOAP'em na PHP, konkretnie tworzę połączenie 3 niezależnych WMSów korzystając właśnie z Web Service'ów. Na początku byłem bardzo zadowolony z takiego rozwiązania. Nie trzeba znać bazy danych, niemal wszystko można robić w locie korzystając jedynie z niewielkiej bazy z tabelami pomocniczymi. Po około pół roku gdy zaczęto wymagać ciut więcej sprawy się skomplikowały. Oczywiście wszystko zależy kto udostępnia owy WS i jak nim zarządza. Jak wspomniałem wcześniej korzystam z 3 Web Service'ów, i żaden nie pozwala mi pobrać danych "różnych od". Dla przykładu: gdy chcę pobrać listę zamówień gdzie nazwisko klienta jest różne od "Nowak", jestem zmuszony do pobrania wszystkich zamówień (możliwe jest zawężenie wyszukiwań, np podaj zamówienia tylko ze statusu 2.2 etc.) a następnie przefiltrowania ich pod kątem szukanego nazwiska. Zaczyna robić się nieciekawie przy większej ilości danych. All in all jest to dość dobre rozwiązanie, można je łatwo przenosić na inne języki.
Jeżeli chodzi o samo programowanie polecam pracę w Eclipse + tworzenie modeli obiektów. Każdy szanujący się WS posiada informacje opisujące go w pliku WSDL. Plik ma strukturę XMLa i zawiera wszystkie niezbędne informacje dotyczące korzystania z WS. Bardzo przydatne jest tworzenie modeli dla poszczególnych zapytań. Każde zapytania działa w dwie strony, wejście i wyjście. Dla przykładu poniżej połączenie + pobranie produktu (na zasadzie funkcji) + modele. Klasa tworząca połączenie + gotowa funkcja do pobrania produktu
Modele wejścia i wyjścia (nie są potrzebne ale baardzo pomagają w dalszej pracy)
Fragment WSDL na podstawie którego tworzysz modele
Frament odpowiadający za nazwę funkcji
i na końcu samo wywołanie zapytania i wyświetlenie danych
Jeżeli masz więcej pytań, napisz post ![]() Ten post edytował Puszy 7.02.2013, 11:10:49 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
przykład:
http://allegro.pl/webapi/documentation.php możesz założyć konto testowe tutaj http://testwebapi.pl/ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 2 Dołączył: 13.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
No po takich odpowiedziach wszytsko staje się jasnę. Aktualnie jestem w trakcie wykonywania projektu, więc muszę usługi sieciowe odłożyć trochę na później, ale wygląda bardzo zachęcająco ^^
Dziękuję bardzo za odpowiedzi ^^ jeśli będę miał jakieś pytania, odezwe się jeszczę tu ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.04.2025 - 03:48 |