Existence služby a vazba na registr
Existence služby
Existence webové služby v dané aplikaci systému flexideo je dána jejím jedinečným jménem ($nazevAkce) a výskytem složky s popisem služby. Popis služby slouží zároveň jako podklad pro zpracování požadavků na tuto službu.
Vedle pojmenovaných služeb existuje i "služba" univerzální, která funguje pomocí SOAP obálek předávajících standardní XML protokol flexideo serveru.
Podklady pro pojmenovanou službu jsou na webovém sídle ve složce:
[web:]/shared/actions/_transforms/{$podslozkaAkce}
Podsložka akce je uložena v registru akcí. Samotná webová služba je volána pomocí následujícího URL:
https://{flexideo}/soap/{$typVolani}[/{$nazevAkce}]
v postové části pak vždy musí být XML požadavek odpovídající specifikaci SOAP (konkrétně: http://schemas.xmlsoap.org/soap/envelope/). Proměnná $typVolani může nabývat následujících hodnot:
service
table
form
Server musí zajistit jednu z těchto hodnot. Pokud dojde k chybě, měl by server vrátit soap fault dle kategorie C (viz. řešení chyb). Typ volání je určující pro výběr šablony. Pokud jde o volání typu form, pak je použita jiná šablona než ve dvou zbývajících případech (viz. popis substepu).
[web:]/schemas/protocol.wsdl
jehož součástí je i schema, jež je též samostatně dostupné v souboru:
[web:]/schemas/protocol.xsd
Toto schema je prozatím jen základní a neobsahuje popis jednotlivých požadavků, nicméně je funkční a to díky použití definice xsd:any.
Viz. též popis formátů na vstupu a výstupu akcí zde.
Vazba na registr
Ke spuštění služby však nestačí její existence. Musí být též povolena v registru akcí obdobně, jako to ověřuje add-on. V případě služeb je však situace mírně modifikována v tom, že URL volání služby přesně uvádí, jaká akce má být provedena a retistr akcí slouží pouze k ověření dostupnosti pro uživatele, který o provedení žádá (vč. anonymního, který má pevně přidělenu jedinou roli).
Skladba ověřovacího dotazu
Ověřování dostupnosti v registru probíhá na základě dotazu s třemi proměnnými - první dvě jsou id uživatele a id role, třetí pak samotný název akce, která je požadována.
Umístění popisu služby
Výše zmíněný údaj sttn_trnfld určuje obsah hodnoty $podslozkaAkce, která se skládá z názvu podsložky akce a podsložky buildu vzájemě oddělené běžným lomítkem. Rovněž je zaručeno, že obsahuje pouze zn...
REST API
REST obecně má mít charakter orientovaný na data, nikoli na procedury. Ve flexideo tento přístup úplně třeba není, protože pomocí HTTP protokolu a XML požadavkům je možné s daty pracovat i ...