203 xml namespace stažené zfo zprávy

ludvicek@atlasgroup.cz 08.07.2021 19:25

Přeji hezký den,

rád bych požádal o vysvětlení proč stažená podepsaná zfo zpráva neodpovídá WSDL schématu dodanému v dokumentaci SOAP služby pro .

Přesněji - stažená zpráva má namespace response wrapperu a dmReturnedMessage elementu "http://isds.czechpoint.cz/v20/message"

 

<?xml version="1.0"?><q:MessageDownloadResponse xmlns:q="http://isds.czechpoint.cz/v20/message"                           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                           isds_send="https://www.czebox.cz/any/DS/dz">    <q:dmReturnedMessage>        <p:dmDm xmlns:p="http://isds.czechpoint.cz/v20"<!-- ... -->    </q:dmReturnedMessage></q:MessageDownloadResponse>

 

Ve wsdl specifikaci ze které se geerují klienti a parser však takový namespace neni NIKDE - u žádného elementu.

Kódem vygenerovaným z Vaši WSDL specifikace tedy nejde tuto zprávu programaticky zpracovat.

Ve WSDL totiž všechny elemtny mají uveden namespace http://isds.czechpoint.cz/v20.

 

V PDF dokumentaci je pak pohřbena informace že pro validaci je třeba suffix /message a případné varianty pro odeslanou zprávu odmazat.

 

Proč nejsou i tyto namespacy ".../message", ".../SentMessage" součástí WSDL schemat tak aby se i s nimy dalo normálně pracovat?

Nebo mám považovat za doporučený způsob všechny zprávy stahovat ve dvou variantách - obyčejné xml a podepsané zfo a tak zbytečně dvojnásobit provoz který na systém datových schránek generuji (řeším práci s více než jednou datovou shcránkou) ?

 

Děkuji, Josef Ludvíček

 

203.1 Re: xml namespace stažené zfo zprávy

602cabrnoch 12.07.2021 08:06

Dobrý den,

nejsem si jistý jestli odpovídám přesně na Váš dotaz, pokud jsem Vás nepochopil správně, opravte mně, nicméně: 

WSDL a XSD se na obsah podepsané zprávy nevztahují, protože v odpovědi nestahujete XML, ale Base64 binární data. Konkrétně jde o ANS.1 strukturu s podepsanými daty podle PKCS7 -  tj. formát zprávy/souboru .zfo. Uvnitř této struktury se nachází XML dokument, jehož struktura je velmi blízká datům přenášeným některými webovými službami, ale jeho vnější slupka je odlišná. Formát .zfo byl navržen před více než 12 léty pro nástroj XLM Form Filler, který v této době byl součástí front-endu ISDS. Namespaces a některé dodatečné atributy vyplývaly v potřeb životního cyklu datové zprávy zobrazované tímto nástrojem. V ISDS byl zachován z důvodu zpětné kompatibility a náročnosti úpravy veškerého SW, který s rozhraním ISDS pracuje, proto namespaces zůstávají v aktuální podobě.

Ve zkratce tedy - WS MessageDownload Vám vrací XML data zprávy podle XSD, WS SignedMessageDownload Vám vrací v Base64 binární reprezentaci souboru ve formátu .zfo určeného k archivaci

Jan Žďárský,

tým technické podpory ISDS