Promotic

ReadFromWeb - metoda obiektu PmaData

Opis:
Odczyt danych z Web serwera w formacie XML do tego obiektu.
Składnia:
Boolean ReadFromWeb(String URL, [String sUser], [String sPassword])
Parametry:
URL(String) Adres URL danych Web serwera, gdzie znajdują się dane XML.
Aplikacja PROMOTIC jako Web serwer zazwyczaj oferuje dane na ścieżce (patrz karta "PmaData > Web serwer"):
http://NazwaKomputera:Port/IdElementu/data.xml?fmt=purevalue

Uwaga! Początek adresu ("http:") musi zostać wprowadzony! Jeżeli chcesz wprowadzić adres komputera lokalnego, wtedy jako NazwaKomputera można wprowadzić słowo localhost. Nie jest konieczne określenie Port, jeżeli Web serwer działa pod standardowym portem 80.
Komunikacja działa również z zabezpieczonym Web serwerem pod adresem https://....
fmt - Nazwany format wysyłanych danych XML.
purevalue - Skrócony format tekstowy zawierający tylko wartości oddzielone średnikiem. Taki format jest przeznaczony do wysyłania wartości wszystkich zmiennych.
xmlpurevq - Skrócony format tekstowy zawierający wartości i właściwości oddzielone średnikiem. Ten format jest odpowiedni do przesyłania wartości i właściwości wszystkich zmiennych.
full - Rozszerzony tekstowy format XML zawierający wartości oraz nazwy zmiennych. Ten format jest przeznaczony do wysyłania wartości wybranych zmiennych.
sUser[opcjonalne] (String) Nazwa użytkownika do uwierzytelnienia. Patrz uprawnienie "WebRead" na serwerze. Jeżeli nie jest ustawione oraz jest wymagane uwierzytelnienie, wtedy zostanie wywołane zdarzenie onEndOfTransfer z błędem pEvent.Error=62.
sPassword[opcjonalne] (String) Hasło użytkownika do uwierzytelnienia. Parametr ten jest ignorowany, jeżeli nie jest określony parametr sUser.
Wartość zwrotna:
true - Metoda pomyślnie zaszeregowała żądanie odczytu danych z serwera. Po transmisji danych zostanie wywołane zdarzenie onEndOfTransfer.
false - Metoda nie zaszeregowała żądanie odczytu. Prawdopodobnie nie został zakończony poprzedni wymóg transmisji danych tego obiektu. Zdarzenie onEndOfTransfer nie zostanie wywołane.
Notatka:
Metoda ta nie działa w PmFree.

Przez wywołanie metody ReadFromWeb nad obiektem obiekt ten jest uważany za Web klienta, który odczytuje dane z komponentu Web serwera - w tym przypadku z innego lecz tak samo ustawionego obiektu PmaData w innej aplikacji na tym samym lub innym komputerze.
Metoda tylko zainicjuje transmisję danych, lecz nie jest zapewnione, że po skończeniu tej metody dane zostaną już przeniesione. Koniec transmisji danych jest oznajmiony przez zdarzenie onEndOfTransfer. W czasie tansmisji danych (tzn. w czasie po wołaniu metody ReadFromWeb a równocześnie przed tym zanim zostanie wywołane zdarzenie onEndOfTransfer) nie można nad obiektem ponownie wywołać metodę ReadFromWeb ani metodę WriteToWeb - w takim przypadku metoda zwraca wartość false. Przy pomocy właściwości WebClientIsReady można stwierdzić, czy obiekt jest przygotowany do następnej transmisji.
Przyjątymi danymi zostaną napełnione zmienne w karcie "Dane" tego obiektu.
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oData = pMe.Pm("Data/Param1");
if (oData.WebClientIsReady)
{
oData.ReadFromWeb("http://localhost/param/data.xml?fmt=purevalue", "Johny", "abcd");
}
else
{
Pm.Debug("Web klient PARAM is not ready (is still active)");
}

Historia:
Pm9.00.18: Nowy format xmlpurevq do wysyłania wartości oraz jakości zmiennych
Pm8.00.11: Jeżeli aplikacja odczytywała strony Webowe sama od siebie (np. przy pomocy metody PmaData.ReadFromWeb jeżeli Adres URL jest adres tej aplikacji), wtedy dane zostały błędnie wczytane.
© MICROSYS, spol. s r.o.