J.E. Programování Mosaic 14. 4. 2022 16:18 8. 10. 2021 13:00

Dobrý den,

potřebuji posílat data na server ve formátu JSON metodou POST. Pro autentizaci mám využít Bearer token. Chtěl jsem použít blok fbHttpRequestL2, nicméně ten pokročilou autentizaci nepodporuje. Lze toto nějak obejít nebo počítá se s doplněním ověřování v nových verzích knihoven?

Podle dodavatele serverové aplikace je možné sloučit url adresu serveru s tokenem, nicméně potom je zase problém, že výsledný řetězec je delší než 255 znaků a nelze ho použít.

Děkuji

Odpovědi 4

Michal 5. 10. 2021 11:05

Dobrý den,

Kolega z vývoje by potřeboval ještě bližší informace, jak by sloučení URL s tokenem mohlo konkrétně vypadat? Má určitou představu, jak by se to dalo řešit, ale pokud ještě doplníte více informací, bude to ideální.

Děkuji a přeji hezký den,

Michal Mrázek

J.E. 5. 10. 2021 12:53

Dobrý den,

na mou odpověď, že nejsme schopni použít při posílání dat požadovanou autentifikaci dodavatel serverové aplikace reagoval: pro tyto případy už máme hotový workaround, stačí token umístit jako query parametr do url. Adresa serveru a token se "spojí" pomocí: ?token=

Nicméně, jak jsem již psal, potom je celková délka url přes 255 znaků (272)

Michal 5. 10. 2021 13:58

Dobrý den,

Kolega připraví příklad, jak poslat dva STRINGy v HTTP Postu. Všeobecně se dá poslat i velká struktura nebo větší množství dat, jen jde o to, že PLC zprávu rozdělí na menší celky, které se postupně zpracují v každém cyklu PLC (z toho vychází i to omezení na STRING o velikosti 255 bytů).

S druhou stranou se stále udržuje TCP/IP spojení a počítá s určitou velikostí dat, kterou si mezi sebou dvě zařízení dohodnou, a postupně by tedy měla zpracovat data, která obdrží od PLC.

Přeji hezký den,

Michal Mrázek

M.B. 8. 10. 2021 13:00

Dobrý den,

v příloze je archiv projektové skupiny, ve které je upravený blok fbHttpRequestL2 (pojmenovaný fbHttpRequestL2x, aby nekolidoval s blokem z knihonvy), který má extra vstup pro druhý řetězec Action. Tento druhý řetězec se při odesílání připojí k původnímu Action a tím lze dosáhnout větší délky GET parametrů.

 

Tento dotaz je vyřešený.