Čo to je
Najskôr odporúčam si prečítať informácie na webe https://www.stormware.sk/pohoda/xml/mserver/,
Pohoda mServer je jednoduchý HTTP server Pohody, ktorý je súčasťou programu (predstavte si to ako program v programe hlavne pre XML komunikáciu). Vďaka tejto aplikácií si môžete posielať HTTP požiadavky priamo z a do Pohody.
Dopyt môžete posielať priamo na server (kde je mServer/Pohoda) v prípade, ak máte prepojený napr. E-shop a váš server pomocou VPN alebo Port forwarding.
Jedna inštancia mServera vyžaduje 1 licenciu Pohody (! v prípade sieťovej verzie !).
mServer slúži hlavne pre XML komunikáciu (to isté ako keď si v Pohode zvolíte Súbor>Dátová komunikácia>XML import/export), ktorú sprostredkuje pomocou metódy POST.
Pomocou mServera je možné vytiahnúť súbory z priečinka Dokumentov firmy metódou GET (napr. obrázky zásob, uložené PDF, atď.), ale na to si skôr odporúčam vytvoriť vlastnú aplikáciu, ktorá bude komunikovať cez FTP protokol.
Nastavenie
mServer sa nastavuje v Databazá/POHODA mServer (musíte byť v zozname účtovných jednotiek). Následne Vám vyskočí okno, kde máte možnosť Nový...
Odporúčam si zapnúť komunikáciu a Prenos údajov pre logy, kde potom viete zistiť prípadné problémy.
Spustenie / zastavenie
mServer sa dá spustiť tromi spôsobmi:
- s možnosťou Spustiť ... sa z okna Pohody stane mServer (nemôžete v Pohode pracovať a pred sebou vidíte len mServer; tým pádom sa z Pohody stane mServer a neberie licenciu naviac, ale len tú, na ktorej je spustená Pohoda)
- s možnosťou Spustiť ako samostatný proces sa otvorí okno mServera, ktorý je ako samostatný proces (samostatná aplikácia; v prípade sieťovej licencie je to +1 licencia) a v Pohode môžete naďalej pracovať, ked si okno minimalizujete.
- spustenie mServera pomocou príkazového riadku
Najčastejšie chyby
mServer sa nespustí
- skontrolujte si port, ktorý ste si zadali pri vytvorení mServera, je možné, že vo Windowse beží nejaká služba pod týmto portom, ktorý to blokuje, riešením je dať si tam iný port (napr. 4444) pre mServer.
- Firewall blokuje daný port a treba ho pridať do výnimky
HTTP error 500
- najčastejšia chyba sa vyskytuje pri sieťovej verzií Pohody vtedy, ak dochádza k výpadkom medzi Pohodou a databázou (MDB alebo SQL). Najčastejšie sa jedná o sieťovú chybu (slabé Wi-fi alebo zlý sieťový kábel) v kombinácií so softvérovým nastavením Windowsu, kde to spôsobuje Uspávanie sieťovej karty (ktoré odporúčam mať vypnuté; vypína sa cez Správcu zariadení a vo vlastnostiach Sieťovej karty, väčšinou na záložke Správa napájania). Viac k tomuto nájdete v článku Tipy a odporúčania pre Pohodu.
- jedným z ďalších problémov môže byť to, že mServer je spustený ako Windows Service (služba), čo nie je odporúčané
- mserver treba pravidelne vypínať a zapínať
- nesmú sa na neho posielať časté dopyty (napr. každú minútu), treba počkať nech prebehne jeden dopyt a až tak posielať ďalšie
- rovnaký mServer nesmie byť spustený viackrát
Testovanie
Postman
Na testovanie odporúčam aplikáciu Postman, kde máte možnosť využiť metódu POST, aplikácia beží lokálne ako mServer, čiže už len stačí správne nastaviť si hlavičku a zadať údaje v XML.
Aplikáciu si môžete stiahnúť priamo z webu https://www.postman.com/downloads/ a nainštalovať. Následne si musíte vytvoriť konto alebo sa prihlásiť pod existujúce. Po spustení aplikácie máte pred sebou Dashboard, kde kliknete z časti Start with something new na Create new ->.
Následne musíte vybrať možnosť HTTP Request (GET/POST). Prvotne si musíte nadefinovať metódu POST (tá je pre mServer podporovaná na XML komunikáciu) následne URL adresu / IP adresu servera a port, za ktorým musí byť /xml , kde beží mServer. (v mojom prípade to je v lokálnej sieti). Následne sa musíte prepnúť na záložku Headers , kde musíte mať vyplnený povinný parameter STW-Authorization, ktorý je prihlasovacie meno a heslo do Pohody. Obsah tohto parametra je vždy v tvare Basic xxxx:
- STW-Authorization: Basic ZXNob3A6ZXNob3AxMjM=
V tomto je zákodované meno eshop a heslo eshop123 (čiže eshop:eshop123) , ktoré je prevedené do Base64. Na konvertovanie do Base64 môžete využiť napr. online nástroj https://www.base64encode.org/.
Parametre STW-application a STW-Instance sú nepovinné a slúžia pre informačný charakter (môžete ich následne vidieť v logu a taktiež v tabuľke mServera).
Na záložke Body si navoľte Raw a náslene XML, kde vložíte požiadku - request (či už import alebo export). V mojom prípade je to export zásob z Pohody:
Následne zvolíte Send. V okne mServera následne uvidíte požiadavku.
Ak vidíte v stĺpci status 200 a v aplikácií Postman Vám vrátilo response, ktorú ste si vyžiadali (v tomto prípade zásoby), tak to je funkčné.
Moje odporúčania
Odporúčam mServer zapínať pomocou príkazového riadku každé ráno (napr. o 5:00) a vypínať každý večer (napr. o 22:00) z dôvodu, aby to nebežalo nonstop a taktiež, aby prebiehali automatické úlohy Pohody (automatická nočná údržba databáz a automatické zálohovanie databáz). mServer nepotrebujete v noci, keďže vtedy v Pohode nikto nepracuje a Vám stačí, aby Vám objednávky stiahlo až pred tým, než prídete k Pohode. Viac k tomuto nájdete v článku Tipy a odporúčania pre Pohodu.
Moje prepojenie aplikácie a e-shopu je v článku Pohoda a Eshop - prepojenie.