Zanurkuj w Pythonie/Debugowanie serwisu sieciowego SOAP: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 4:
Biblioteki SOAP dostarczają łatwego sposobu na zobaczenie co się tak naprawdę dzieje za kulisami.
Włączenie debugowania to jest po
'''Przykład 12.7. Debugowanie serwisów SOAP'''
Linia 50:
# Po pierwsze tworzymy normalnie <tt>SOAPProxy</tt> podając URL serwisu i przestrzeń nazw.
# Po drugie włączamy debugowanie poprzez ustawienie <tt>server.config.dumpSOAPIn</tt> i <tt>server.config.dumpSOAPOut</tt>.
# Po trzecie wywołujemy jak zwykle zdalną metodę SOAP. Biblioteka SOAP wyświetli zarówno wychodzący dokument XML
Większość dokumentu XML żądania, który jest wysyłany do serwera, to są elementy stałe. Zignoruj wszystkie te deklaracje przestrzeni nazw; one nie ulegają zmianie (lub są bardzo podobne) w trakcie wszystkich wywołań SOAP. Sercem "wywołania funkcji" jest ten fragment w elemencie <nowiki><Body></nowiki>:
Linia 61:
# Nazwą elementu jest nazwa funkcji: <tt>getTemp</tt>. <tt>SOAPProxy</tt> używa <tt>getattr</tt> jako dyspozytora. Zamiast wywoływania poszczególnych metod lokalnych bazując na nazwie metody, używa on nazwy metody do skonstruowania dokumentu XML żądania.
# Element XML-a dotyczący funkcji zawarty jest w konkretnej przestrzeni nazw,
# Argumenty funkcji także zostały przekształcone na XML-a. <tt>SOAPProxy</tt> używając introspekcji analizuje każdy argument, aby okreslić jego typ (w tym wypadku jest to string). Typ argumentu trafia do atrybutu <tt>xsi:type</tt>, a zaraz za nim podana jest jego wartość.
|