Promotic

ReadFromWeb - metoda objektu PmaData

Popis:
Čtení dat z Web serveru ve formátu XML do tohoto objektu.
Syntaxe:
Boolean ReadFromWeb(String URL, [String sUser], [String sPassword])
Parametry:
URL(String) URL adresa dat Web serveru, kde jsou umístěna XML data.
Aplikace PROMOTIC jako Web server tato data obvykle nabízí na cestě (viz karta "PmaData > Web server"):
http://NázevPočítače:Port/IdKomponenty/data.xml?fmt=purevalue

Upozornění! Začátek adresy ("http:") se musí zadat! Pokud chcete zadat adresu lokálního počítače, pak jako NázevPočítače lze zadat slovo localhost. Port není potřeba zadávat, pokud je Web server na standardním portu 80.
Komunikace funguje i se zabezpečeným Web serverem na adrese https://....
fmt - Pojmenovaný formát posílaných XML dat.
purevalue - Zkrácený textový formát obsahující pouze hodnoty oddělené středníkem. Tento formát je vhodný na posílání hodnot všech proměnných.
xmlpurevq - Zkrácený textový formát obsahující hodnoty a kvality oddělené středníkem. Tento formát je vhodný na posílání hodnot a kvalit všech proměnných.
full - Rozšířený textový XML formát obsahující hodnoty a názvy proměnných. Tento formát je vhodný na posílání hodnot vybraných proměnných.
sUser[nepovinné] (String) Jméno uživatele pro autentizaci. Viz oprávnění "WebRead" na serveru. Pokud není nastaveno a je vyžadována autentizace, pak je vyvolána událost onEndOfTransfer s chybou pEvent.Error=62.
sPassword[nepovinné] (String) Heslo uživatele pro autentizaci. Tento parametr je ignorován, pokud není zadán parametr sUser.
Vrácená hodnota:
true - Metoda úspěšně zařadila požadavek na čtení dat ze serveru. Po přenosu dat je vyvolána událost onEndOfTransfer.
false - Metoda nezařadila požadavek na čtení. Pravděpodobně ještě nebyl dokončen předchozí požadavek o vysílání/příjmu tohoto objektu. Událost onEndOfTransfer není vyvolána.
Poznámka:
Tato metoda není funkční pro PmFree.

Voláním metody ReadFromWeb nad objektem se považuje tento objekt za Web klient, který čte data z komponenty Web serveru - v tom případě z jiného ale stejně nakonfigurovaného objektu PmaData v jiné aplikaci na stejném nebo jiném počítači.
Metoda dá jen podnět k přenosu dat, ale není vůbec zaručeno že po ukončení této metody jsou již data přenesena. Konec přenosu dat však způsobí že se vyvolá událost onEndOfTransfer. V době přenášení dat (tzn. v době po volání metody ReadFromWeb a předtím než je vyvolána událost onEndOfTransfer) nelze nad objektem znovu volat metodu ReadFromWeb ani metodu WriteToWeb - tehdy metoda vrací hodnotu false. Pomocí vlastnosti WebClientIsReady lze zjistit, zda objekt je připraven na další přenášení.
Příchozími daty budou naplněny proměnné v kartě "Data" tohoto objektu.
Příklad:
JavaScriptVBScriptVyber a zkopíruj do schránky

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)");
}

Historie:
Pm9.00.18: Nový formát xmlpurevq pro zasílání hodnot i kvalit proměnných
Pm8.00.11: Pokud aplikace četla Web stránky sama ze sebe (např. metodou PmaData.ReadFromWeb když URL adresa je adresa této aplikace), pak se data špatně načetly.
© MICROSYS, spol. s r.o.