Dobrý den,
chtěl bych poprosit o radu s chybou 1214 na produkčním prostředí.
Popis problému:
Odesíláme pomocí metody CreateMessage datovou zprávu, která má jednu přílohu ve formátu PDF. Systém nám však hlásí chybu 1214 Obsah souboru nebyl identifikován.
Pokud odesíláme soubor jako text/plain tak se datová zpráva odešle.
SOAP request a SOAP response vkádám do přílohy.
Navíc máme problém i s base64 kódováním. Pokud má soubor nezakódovaný obsah (je to prostý text) tak se odešle a lze potom v mojedatovaschranka.cz přečíst. Pokud je zakódovaný pomocí base64 tak už ho nepřečteme protože je zakódovaný v base64.
93.1 Re: 1214 - Obsah souboru nebyl identifikován.
admin 17.01.2017 11:36Dobrý den.
Nejprve obecná odpověď - chybu 1214 hlásí externí komponenta, která provádí kontrolu příloh z hlediska povolených formátů a z hlediska správnosti obsahu vzhledem k deklarovanému formátu (MIME). Pokud nahlásí, že obsah nebyl identifikován, je s tím souborem nějaký zásadní problém. Než bych ten soubor doloval z toho requestu, pošlete mi jej prosím na email z profilu, vyzkoušíme ho u sebe a uvidíme.
A moje otázky jsou:
1) jiný PDF soubor odešlete?
2) jiný povolený formát odešlete?
Té druhé části ohledně BASE64 otázky úplně nerozumím. Platí toto: každá příloha se kóduje do BASE64, a tak je uložena ve zprávě v ISDS. Když zprávu stáhnete, dostanete opět XML strukturu (podepsanou PKCS7), kde příloha je v BASE64 - pokud si ji chcete přečíst, musíte ji odkódovat z BASE64 - na to jsou standradní postupy.
A jen pro informaci - každý pracovní den se přenáší více než 150 000 PDF souborů bez jakýchkoliv problémů.Spíš bych to viděl na nějaký problém Vaší aplikace.
A poznámka: pro podobné pokusy je vhodné mít založenu testovací schránku na neprodukčním prostředí.
s pozdravem
Jan Šíma
93.2 Re: 1214 - Obsah souboru nebyl identifikován - VYŘEŠENO
admin 17.01.2017 11:36Tak problém vyřešen, velice děkuji za pomoc panu Šímovi.
Ačkoli to nechápu, tak problém byl v tom, že jsme přílohy předávali do datových schránek zakódované v base64 a systém, který ověřuje platnost souboru na typ, který je předáván společně se zakódovaným obsahem nedokázal přílohu ověřit. Co si myslím, tak tam nejspíše došlo ke zdvojení zakódování obsahu příloh do base64 a proto ověření nefungovalo.
Viz. příklad v PHP, který lze stáhnout přímo zde na stránkách. Je tam znázorněna tvorba datové zprávy vč. přílohy a příloha je tam jako prostý text (resp. obsah přílohy je tam jako prostý text).
Takže ještě jednou díky panu Šímovi. Hezký den všem.