225 CreateBigMessage

sychra@sophis.cz 25.04.2022 14:12

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:02

Dobrý 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:08

Ješ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:23

Dě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:52

Dobrý den, 

mně se to chová jinak:

  • když chybí celý atribut dmMetaType, vrací se chyba 

 <q:dmStatusCode>1291</q:dmStatusCode>

 <q:dmStatusMessage>Chybí atribut dmFileMetaType</q:dmStatusMessage>

  • když chybí obsah atributu, vrací se chyba

<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:03

Zkuste dát např. do dmFileMetaType="0" nebo dmFileMetaType="". 

225.4.1 Re: Re: CreateBigMessage

602jsima 27.04.2022 07:44

Dobrý 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:45

Omlouvá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.