Dokumentace SOAP rozhraní pro Marwel 2.6.x

Podobné dokumenty
Technická příručka aplikace. Popis API internetového bankovnictví

Webová služba. Popis. Dostupné operace. add_subscriber_groups

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline

Manuál pro modul Vypisování témat prací oponent

Artlingua Translation API

Maturitní otázky z předmětu PROGRAMOVÁNÍ

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Programování v jazyce JavaScript

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

JSON API pro zjišťování cen MtG karet

TRANSPORTY výbušnin (TranV)

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

wplatba SOAP api Technická dokumentáce

1 Webový server, instalace PHP a MySQL 13

Příručka pro editaci kontaktů na eagri

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

Programování v jazyce JavaScript

Webové služby. služby OctopusPro

Úvod do programovacích jazyků (Java)

WiFi4EU Komponent sloužící k prosazování politiky. Prováděcí příručka verze 1.0

Pracovní postup pro testování modulu Organizační struktura a systemizace (OSYS)

Datové schránky. Technická specifikace. Vytvořeno dne: Aktualizováno: Verze: Software602, a.s.

Vytváření a použití knihoven tříd

43 HTML šablony. Záložka Šablony v systému

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Technická specifikace Platební brána IBS

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

PHOTO-ON Profesionální on-line správa fotografií

Sada 1 - PHP. 03. Proměnné, konstanty

17. července :51 z moravec@yahoo.com

RealitySKWS_1 - rozhraní pro přenos zakázek Technická dokumentace Verze Ing. Jiří Fořt, Diadema Software s.r.o.

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Chybová hlášení METODIKA MET-01/2014. SZR-56-1/OPICT-2013 počet stran 28 přílohy 0. Nahrazuje:

Dokumentace pro výrobce SW DIS13 - WS

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

B2B SOAP - popis funkcionality

ADT/ADS = abstraktní datové typy / struktury

INFORMAČNÍ SYSTÉMY NA WEBU

Obecná příručka IS o ISVS

36 Elektronické knihy

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

APS Administrator.ST

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Uživatelská příručka pro administraci nabídek práce. na personálním webu Atraktivni-prace.cz. Verze 8.01/2013. Autor: Petr Kliment

WORKSHOP II. Téma: Stávající informační systém Vytvořeno: Odborem 34 Státní dozor nad sázkovými hrami a loteriemi Praha 1.

Integrace ORCID se systémem identit VŠB-TUO

Java a XML. 10/26/09 1/7 Java a XML

Anabix API. Popis způsobu používání služby

ONLINE API GLS GLS online webová služba SOAP pro tiskové služby

Algoritmizace prostorových úloh

struct login(string session_id, string password, string software_key)

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

Informační systém pro e-learning manuál

1. Webový server, instalace PHP a MySQL 13

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i.

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

Programátorské večery. Tomáš Herceg Microsoft Student Partner

Instalace a první spuštění Programu Job Abacus Pro

Platební systém XPAY [

Geis Point Plugin Map

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

Verze dokumentu 0.1 duben 2016

REGISTRACE UŽIVATELE

REGISTRACE A SPRÁVA UŽIVATELSKÉHO ÚČTU

WNC::WebNucleatCreator

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB

Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

4. lekce Přístup k databázi z vyššího programovacího jazyka

Dokumentace ke službě SMS Connect.

Výčtový typ strana 67

Programování v C++ 1, 5. cvičení

XML a DTD. <!DOCTYPE kořenový_element [deklarace definující vlastnosti jednotlivých elementů a atributů]> externí deklarace:

UŽIVATELSKÁ PŘÍRUČKA APLIKACE. Administrace dokumentů

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

Synchronizace CRM ESO9 a MS Exchange

ASPOT - Rekonstrukce zásoby lesních porostů z údajů měřených pařezů

Popis webové služby pro sledování změn údajů o nemovitostech

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

Redakční systém Joomla. Prokop Zelený

Geis Point SOAP WebServices Interface

Popis B2B rozhraní pro elektronickou neschopenku

SOFTRONICHD UŽIVATELSKÁ PŘÍRUČKA - KLIENT

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

Algoritmizace a programování

Michal Krátký, Miroslav Beneš

Business Intelligence

Bezdrátové routery LTE & UMTS datové a hlasové brány

První kapitola úvod do problematiky

Implementace LL(1) překladů

CENTRÁLNÍ DATABÁZE. příručka pro práci s Centrální databází

Transkript:

Modul SOAP poskytuje funkce modulů podporujících rozhraní SOAP ve formě webové služby. V tomto dokumentu je popsáno SOAP rozhraní modulu Marwel sloužící k vkládání, editaci a čtení článků redakčního systému. QCM, s.r.o. Heršpická 5, 639 00 Brno www.qcm.cz Tel: +420 538 702 705 Fax: +420 541 210 338

Obsah 1. Podmínky funkčnosti SOAP rozhraní...3 2. WSDL SOAP rozhraní...3 3. Zpracování SOAP požadavku...3 4. Příklady běžného použití:...3 4.1 Inicializace SOAP klienta...3 4.2 Získání autentizačního řetězce...3 4.3 Vložení článku...3 4.4 Načtení článku s daným ID...4 5. Přílohy...4 5.1 XML typického autentifikačního požadavku...4 5.2 XML typické autentifikační odpovědi...4 5.3 XML článku...4 5.4. Seznam metod vystavených systémem Marwel s popisem parametrů...6 5.4.1 soapsoapauth()...6 5.4.2. articles_getarticleforedit()...6 5.4.3 articles_getrootarticle()...7 5.4.4 articles_getchildarticles()...7 5.4.5 articles_getarticle()...8 5.4.6 articles_insertarticle()...8 5.4.7 articles_updatearticle()...9 5.4.8 articles_getarticles()...9 2

1. Podmínky funkčnosti SOAP rozhraní musí být nainstalován modul SOAP v systému musí být definován uživatel, který má oprávnění administrace modulu Marwel (Články) a přístup k modulu SOAP. Přihlašovací údaje (uživatelské jméno a heslo) tohoto uživatele jsou používány k autorizaci operací prováděných v rámci SOAP rozhraní. 2. WSDL SOAP rozhraní Popis SOAP rozhraní modulu Marwel (a ostatních modulů, které podporují SOAP rozhraní) v jazyce WSDL je standartně vystaven na URL http:// [www.adresa.cz]/modules/soap/soap_qcm_services.php. 3. Zpracování SOAP požadavku Proces zpracování SOAP požadavku probíhá ve dvou krocích: 1. ověření přihlašovacích údajů SOAP klient se přihlásí pomocí přidělených přihlašovacích údajů a v případě úspěchu obdrží autorizační řetězec, který je následně používán k ověření požadovaných operací v průběhu druhé fáze. 2. zpracování požadovaného úkonu v případě úspěšného průběhu první fáze (podaří-li se klientovi úspěšně přihlásit a obdrží-li od systému platný autorizační řetězec) dojde ke zpracování samotného požadavku (vložení, editaci nebo přečtení článku). 4. Příklady běžného použití: Příklady běžného použití jsou popsány v jazyce PHP. Na jiných platformách lze ke komunikaci s webovou službou využít přímo XML požadavků. V přílohách jsou ukázky typických požadavků a jejich odpovědí v jazyce XML a seznam metod s popisem parametrů vystavených webovou službou. 4.1 Inicializace SOAP klienta Jako SOAP klient je použita standartní PHP třída SoapClient. $wsdl_url = http:// [www.adresa.cz]/modules/soap/soap_qcm_services.php; $client = new SoapClient($wsdl_url); 4.2 Získání autentizačního řetězce K získání ověřovacího řetězce se používá metoda soapsoapauth(), jejímiž parametry jsou přihlašovací údaje SOAP klienta, tedy uživatelské jméno a heslo. V případě úspěšného ověření je do proměnné $hash uložen řetězec, který slouží k autorizaci následných operací. $hash = $client->soapsoapauth('uzivatelske_jmeno', 'heslo'); 4.3 Vložení článku Vkládání článku se na platformě PHP provádí pomocí metody articles_insertarticle(), jejímž prvním 3

parametrem je autorizační řetězec (obsah proměnné $hash z předhozího příkladu) a druhým parametrem je objekt, reprezentující článek systému Marwel. Při úspěšném vložení metoda vrátí identifikátor článku, v případě neúspěchu vrátí číslo 0. $articleid = $client->articles_insertarticle($hash, $article); 4.4 Načtení článku s daným ID K načtení článku můžeme použít metodu articles_getarticleforedit(), jejímž prvním parametrem je opět autorizační řetězec $hash, druhým parametrem je celočíselná hodnota identifikátoru článku a třetím parametrem je celočíselná hodnota identifikátoru jazyka. V případě úspěchu vrátí metoda objekt / asociativní pole článku. $article = $client->articles_getarticleforedit($hash, $articleid, $languageid); 5. Přílohy 5.1 XML typického autentifikačního požadavku <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap- ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:soapSoapAuth> <soapauthlogin>uzivatelske_jmeno</soapauthlogin> <soapauthpassword>heslo</soapauthpassword> </SOAP-ENV:soapSoapAuth> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 5.2 XML typické autentifikační odpovědi <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap- ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:soapSoapAuthResponse> <soapsoapauthhash>4g30ggcqz3qtco514t0pa0hhy2</soapsoapauthhash> </SOAP-ENV:soapSoapAuthResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 5.3 XML článku <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <SOAP-ENV:articles_insertArticle> <soaphash>4g30ggcqz3qtco514t0pa0hhy2</soaphash> <articlewsdl> 4

<parent_aid>1008</parent_aid> <new_window></new_window> <deleted></deleted> <def_lang_id>1</def_lang_id> <url></url> <id_external>321</id_external> <lang_id>1</lang_id> <title>titulek článku</title> <perex>perex článku</perex> <content>obsah článku...</content> <keywords>klíčová slova spjatá s článkem</keywords> <custom1>uživatelské pole nesoucí libovolnou informaci</custom1> <custom2>uživatelské pole nesoucí libovolnou informaci</custom2> <custom3>uživatelské pole nesoucí libovolnou informaci</custom3> <custom4>uživatelské pole nesoucí libovolnou informaci</custom4> <visible></visible> <read_count>20</read_count> <links></links> <state></state> <author_id>1</author_id> <created_by>1</created_by> <changed_by>1</changed_by> <create_date>2009-03-16t15:51:00+01:00</create_date> <change_date>2009-03-16t15:51:00+01:00</change_date> <valid_from>2009-03-16t15:51:00+01:00</valid_from> <valid_to></valid_to> <calendar_from>2009-03-16t15:51:00+01:00</calendar_from> <calendar_to></calendar_to> <show_fields> <item><key>showtitle</key><value>true</value></item> <item><key>showperex</key><value>true</value></item> <item><key>shownavigation</key><value>true</value></item> <item><key>showcontent</key><value>true</value></item> <item><key>showdate</key><value>1</value></item> </show_fields> <attributes> <item><key>attributesearch</key><value>true</value></item> <item><key>attributesitemap</key><value>true</value></item> <item><key>attributebreadcrumbs</key><value>true</value></item> <item><key>attributesearchcategory</key><value>true</value></item> </attributes> <targeting>1</targeting> <doc_type> <xsd:int>3</xsd:int> <xsd:int>4</xsd:int> </doc_type> <rewrite></rewrite> <absolute_url></absolute_url> <absolute_rewrite></absolute_rewrite> <author_email></author_email> <comments_count></comments_count> <date_noticed></date_noticed> <author_note></author_note> <noticed></noticed> </articlewsdl> </SOAP-ENV:articles_insertArticle> 5

</SOAP-ENV:Body> </SOAP-ENV:Envelope> 5.4. Seznam metod vystavených systémem Marwel s popisem parametrů 5.4.1 soapsoapauth() string soapsoapauth(string $login, string $password) Ověří zadané přihlašovací údaje a v případě úspěchu vrátí autentizační řetězec. $login - Uživatelské jméno $password - Heslo Jsou-li zadané přihlašovací údaje správné, metoda vrátí ověřovací řetězec, který je následně používán jako parametr metod pracujících s články, resp. daty. V případě neúspěšného ověření metoda vrátí výjimku. $client = new SoapClient($wsdl_url); $hash = $client->soapsoapauth('mylogin', 'mypassword'); 5.4.2. articles_getarticleforedit() Object articles_getarticleforedit(string $hash, int $articleid, int $languageid) Metoda získá objekt jazykové mutace ($languageid) článku s daným identifikátorem článku. $articleid identifikátor článku $languageid identifikátor jazyka 6

Pokud metoda nalezne článek s daným identifikátorem v dané jazykové mutaci (identifikátor jazyka) vrátí jej jako objekt, pokud ne, vrátí prázdný řetězec. $articleid = 1000; $soaparticle=$client->articles_getarticleforedit($hash, $articleid, 1) 5.4.3 articles_getrootarticle() int articles_getrootarticle(string $hash, int $articleid); Metoda vrátí celočíselný identifikátor kořenového článku (Rodiče všech ostatních ve stromu článků). $articleid identifikátor článku Tato metoda vrátí celočíselný identifikátor kořenového článku. $articleid = $client->articles_getrootarticle($hash, $articleid); 5.4.4 articles_getchildarticles() array articles_getchildarticles(string $hash, int $articleid) Metoda vrátí pole celočíselných identifikátorů článků, které jsou potomky článku se zadaným identifikátorem. $articleid identifikátor článku 7

Pokud existuje článek se zadaným identifikátorem a pokud má nějaké potomky (podřízené články), tato metoda vrátí pole jejich identifikátorů. Pokud článek neexistuje, nebo nemá žádné potomky, metoda vrátí prázdné pole. $articleids = $client->articles_getchildarticles($hash, $articleid); 5.4.5 articles_getarticle() string articles_getarticle(string $hash, int $articleid, int $languageid) Metoda vrátí HTML kód jazykové mutace článku určené zadaným identifikátorem článku a identifikátorem jazyka. $articleid identifikátor článku $languageid identifikátor jazyka Pokud existuje článek v dané jazykové mutaci, metoda vrátí jeho HTML kód, Pokud článek neexistuje metoda vrátí výjimku. $htmlcode = $client->articles_getarticle($hash, $articleid, 1); 5 => 'int articles_insertarticle(string $hash, UNKNOWN $articlewsdl)', 5.4.6 articles_insertarticle() int articles_insertarticle(string $hash, Object $article) Metoda vloží objekt článku do databáze. $article objekt článku 8

Při úspěšném vložení článku metoda vrátí celočíselný identifikátor nově vloženého článku, při neúspěchu metoda vrátí číslo 0. $articleid = $client->articles_insertarticle($hash, $article) 6 => 'boolean articles_updatearticle(string $hash, UNKNOWN $articlewsdl)', 5.4.7 articles_updatearticle() int articles_updatearticle(string $hash, Object $article) Tato metoda funguje stejně jako metoda articles_insertarticle() $article objekt článku Viz. metodu articles_insertarticle() Viz. metodu articles_insertarticle() 5.4.8 articles_getarticles() array articles_getarticles(string $hash, array $filter, int $limit, int $offset) Tato metoda umožňuje vybírat články podle kritérií obsažených v poli $filter. Pole kritérií musí být zadáno jako asociativní pole, kde klíčem je název kritéria a hodnotou samotné kritérium. Před samotným voláním metody je v aktuální verzi Marwela nutno přetypovat asociativní pole $filter na objekt, s použitím operátoru (object) (viz. příklad). V aktuální verzi jsou akceptována následující kritéria: Datový typ a název kritéria int id_external Popis (externí) identifikátor článku 9

int id_parent id rodičovského článku int id_language id jazyka článku int levels počet úrovní stromu ve kterých se má vyhledávat boolean leaves boolean include_parent pokud je nastaveno na true, vrátí metoda pouze listy (tzn. články, které nemají žádné podčlánky), pokud je nastaveno na false, metoda vrátí pouze větve (tedy články, které mají nějaké podčlánky) zahrnout rodičovský článek do vyhledávání string datetime_change_min dolní hranice data změny článku string datetime_change_max horní hranice data změny článku string datetime_insert_min dolní hranice data vložení článku string datetime_insert_max horní hranice data vložení článku $filter asociativní pole kritérií výběru $limit počet vrácených článků $offset posunutí začátku výběru Tato metoda vrátí pole celočíselných identifikátorů článků vyhovujících zadaným kritériím. $filter = array('id_parent' => 22204, 'levels' => 3, 'leaves' => true, 'include_parent' => false, 'datetime_change_min' => '16.4.2008'); $articleids = $client->articles_getarticles($hash, (object)$filter, 5, 10

0) 11