Dobrý den,
mám dotaz, který mi není úplně zřejmý při vytváření CreateBigMessage.
Mám přílohu velikosti 50MB.Tu nahraji pomocí UploadAttachment na uložiště. Získám dmAttID, dmAttHash1, dmAttHash2 - není problém.
Tyto získané parametry všech souborů uložených pomocí UploadAttachment použiji v CreateBigMessage v parametru dmExtFile, nicméně vytvoření datové zprávy se neprovede, jelikož to spadne na chybu, že vyžaduje parametr dmFile. Jaký je rozdíl mezi dmFile a dmExtFile? Kdy se má použít dmFile a kdy dmExtFile, popřípadě v jaké kombinaci, pokud posílám vícero souborů? V manuálu se píše, že nejdříve musím nahrát všechny soubory pomocí UploadAttachement a poté zaslat pomocí dmExtFile. Pokud zašlu zkusmo jeden soubor pouze v parametru dmFile vždy to skončí na chybě 1297 (Přílohy datové zprávy nedosahují minimální délky pro VODZ). Příloha má velikost 50 MB, tj. > 18 MB. Mimochodem stejná příloha pomocí UploadAttachement projde v pořádku a vrátí veškeré paramerty AttID, Hash1 a Hash2.
Manuál strana 9:
"Odeslání VoDZ pomocí nové služby CreateBigMessage (pouze na novém endpointu) musí předcházet upload některých (nebo všech) příloh opakovaným voláním služby UploadAttachment. Získaná ID příloh a jejich hashe se použijí v popisu příloh VoDZ – viz níže. Pokud bude velikost příloh menší než 20 MB (v toleranci dané konfigurovatelnou konstantou, prozatím 2 MB), dojde k chybě 1297 a zpráva se nevytvoří."
225.1 Re: CreateBigMessage
602jsima 25.04.2022 18:02Dobrý den,
pokud chcete poslat jednu velkou přílohu, použijte
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v20="http://isds.czechpoint.cz/v20">
<soap:Header/>
<soap:Body>
<v20:CreateBigMessage>
<v20:dmEnvelope>
<v20:dbIDRecipient>rtcahjv</v20:dbIDRecipient>
<v20:dmAnnotation> big PDF</v20:dmAnnotation>
</v20:dmEnvelope>
<v20:dmFiles>
<v20:dmExtFile dmFileMetaType="main" dmAttID="1003" dmAttHash1="249d817bb366d451c34d41f7e80a9721b7e64e0408b98516ea5b91469bb2b96d" dmAttHash1Alg="SHA-256" dmAttHash2="5e06672d8b94e054fdeca608ba78b48b29ea5ab26bc181b5ee4b5ee2dff2e534" dmAttHash2Alg="SHA3-256"/>
</v20:dmFiles>
</v20:CreateBigMessage>
</soap:Body>
</soap:Envelope>
Element dmFile se používá stejně jako ve starém ISDS, pro jednu přílohu, zadanou přímo v tomto elementu. Ve VoDZ může být např. jeden velký ZIP (dmExtFile) a k tomu malý popisný soubor (dmFIle).
Jan Šíma
225.2 Re: CreateBigMessage
602jsima 25.04.2022 18:08Ještě k tomu, že (něčemu?) chybí element dmFile - to je divné, protože ten element je nepovinný, viz XSD.
Kdyby se Vám to stále nedařilo, pošlete prosím ten SOAP požadavek a podíváme se na to.
Jan Šíma
ISDS
225.3 Re: CreateBigMessage
sychra@sophis.cz 26.04.2022 10:23Děkuji, nakonec mě "nakopl" ten Váš příklad. Nedotahoval se mi správně parametr dmFileMetaType="main". Po doplnění se již odesílá v pořádku. Evidentně pokud není zadané dmFileMetaType, tak přílohu ignoruje jako celek. Napadlo mě, jestli by nestálo za to přihodit další chybovou informaci co chybí vyplněného, než to úplně zahodit. Jen nápad na vylepšení.
225.3.1 Re: Re: CreateBigMessage
602jsima 26.04.2022 10:52Dobrý den,
mně se to chová jinak:
<q:dmStatusCode>1291</q:dmStatusCode>
<q:dmStatusMessage>Chybí atribut dmFileMetaType</q:dmStatusMessage>
<q:dmStatusCode>2033</q:dmStatusCode>
<q:dmStatusMessage>Element dmFile má nepovolený atribut dmFileMetaType</q:dmStatusMessage>
, což není úplně přesný popis, ale znamená to obecně nějaké trable s atributem dmFileMetaType.
Pokud máte nějaký příklad, který způsobí nekorektní chování, pošlete mi to prosím, takové věci hledáme.
Jan Šíma
ISDS
225.4 Re: CreateBigMessage
sychra@sophis.cz 27.04.2022 07:03Zkuste dát např. do dmFileMetaType="0" nebo dmFileMetaType="".
225.4.1 Re: Re: CreateBigMessage
602jsima 27.04.2022 07:44Dobrý den,
toto vždy vrátí chybu 2033, tam musíte mít ještě "něco".
Nemůžete odchytit celý ten požadavek?
děkuji
Jan Šíma
ISDS
225.5 Re: CreateBigMessage
sychra@sophis.cz 09.05.2022 13:45Omlouvám se, že reaguji se zpožděním. Zkouším to nyní horem spodem a skutečně to vrací vždy chybu 2033. Buď bylo opraveno nebo vznikl (což je pravděpodobnější) na mé straně nějaký šotek. Kdybych náhodou došel na "správnou kombinaci" dám vědět.