Online-Invoice icon indicating copy to clipboard operation
Online-Invoice copied to clipboard

[Q&A] QueryInvoiceDataResponse téves választ ad ütemzavar esetén. Hogyan lehet elkerülni vagy mit használjak helyette?

Open betasofthu opened this issue 3 years ago • 8 comments

A kérdés, amire választ szeretnék kapni / The question I would like to be answered Rövid és tömör leírása a kérdésnek. / A clear and concise description of the question. 2021.06.28-án üzemzavar volt az éles rendszerben. Lassan és problémásan mentek be a számlák. 1.) A ManageInvoice által kapott tranzakció azonosítóval indítottam QueryTransactionStaus-t, ami megszakadt. 2.) 10 perc várakozás után ráindult egy QueryInvoiceData ami jelentette, hogy nincs bent a számla, ugyanis a válaszban üres volt az invoiceDataResult. 3.) Ráindítottam egy MangeInvoice-ot, az viszont hibára futott: INVOICE_NUMBER_NOT_UNIQUE.

A queryTransactionList-tet nem használom, ezzel akartam megoldani. Az ajánlott 10 percet is ki vártam. Úgy tűnik a QueryInvoiceData lassulás esetén nem megbízható. Hogyan kellet volna csinálnom, vagy mit kellet volna helyette tennem?

1.)Az első tranId: 3F261HNNZSD39PBL Az első requestId: UjXmzMpQEEe8PsTQfRTjWg 2.) A queryInvoicedata requestId: uToU05pdGk6ZYRZAGgwIzg 3.)A hibára futott tranId: 3F26EVG9FYLHXHZR

betasofthu avatar Jul 01 '21 08:07 betasofthu

Üdv! Tud valaki segíteni nekem ebben?

betasofthu avatar Aug 03 '21 07:08 betasofthu

Szia @betasofthu ! A fenti eset akkor fordulhat elő, ha elsőre befogadtuk az adatszolgáltatást, azonban az aszinnkron feldolgozása nem történt meg 10 perc alatt. Ilyenkor a queryInvoiceData nem adja vissza a számlát mert nem dolgoztuk fel. Viszont a queryTransactionStatus ilyenkor visszaadná, hogy feldolgozás alatt. Így szerintem azzal kellett volna próbálkozni, amíg az végállapotba nem kerül. Üdv

NTCA-supporter avatar Aug 25 '21 13:08 NTCA-supporter

Köszönöm a választ! A queryTransactionStatus megszakadt 503 GENRAL ERROR hibával. A 10 percet biztosan kivártam, mert ezt már tudtam, hogy ki kell várni. Ennek ellenére nem adta vissza a számlát a queryInvoiceData. Valószínűleg 10 perc után sem volt feldolgozva. Sajnálom mert a queryInvoiceData egyszerű volt, de ezek szerint üzemzavar esetén nem használható.

betasofthu avatar Aug 25 '21 17:08 betasofthu

Sziasztok!

Tudom, hogy itt nincs éles rendszer support, de szeretném, ha nyoma lenne a mai esetnek. Az éles support felé nem fogunk fordulni, mert legutóbb is kétszer egy hónap válaszidő után sem jutottunk még oda el, hogy megkaptuk volna azokat az információkat, ami alapján talán kiderülhetett volna, hogy mi történt, és ha mi hibázunk annak ellenére, hogy a NAV által kommunikált elvárások szerint próbáljuk kezelni ezt az esetet, akkor mit kellene máshogy csinálnunk.

Ma 9.30kor egyik ügyfelünknél nagyobb mennyiségű számla került kiállításra. A beküldés során a számlák nagy része gond nélkül beküldésre került, néhány beküldésre azonban Connection timeout volt a válasz. 10 perccel a beküldés után rákérdezve az általunk ismer TR azonosítóra már azt a választ kaptuk, hogy INVOICE_NUMBER_NOT_UNIQUE. Visszakérdezve a számlaszámra az egy teljesen másik tranzakción került rögzítésre, olyan tranzakcióval, ami a mi logunk szerint nem általunk indított. :) De a számla az, amit mi küldtünk be, így átálltunk arra a tranzakció számra lekértük, hogy legyen nyoma a NAV oldalán is a visszakérdezésnek és zártuk az ügyet.

Hónapok óta nem volt ilyen (vagy nem jelezte felénk ügyfél), de ismét kiderült, hogy Connection timeout esetén biztosan előfordulhat az INVOICE_NUMBER_NOT_UNIQUE, csak nem tudjuk miért. :)

omachtandras avatar Nov 03 '21 09:11 omachtandras

Tuti hogy NAV-nak az infrastruktúrája egy rétegében van request repeat, erre utaló jel már itt is volt : https://github.com/nav-gov-hu/Online-Invoice/issues/870 Azaz egyetlen kliens kérés hatására is lehet REQUEST_ID_NOT_UNIQUE vagy INVOICE_NUMBER_NOT_UNIQUE hiba.

EPluribusUnum avatar Nov 03 '21 14:11 EPluribusUnum

Sziasztok!

Azért ez nekem nagyon érdekesnek tűnik: "Visszakérdezve a számlaszámra az egy teljesen másik tranzakción került rögzítésre, olyan tranzakcióval, ami a mi logunk szerint nem általunk indított. :)" Ha ilyen előfordulhatna, akkor nagyon nagy lenne a baj. Ez a tuti, hogy van request repeat nem tudom honnan jön, de nem is akarom továbbvinni ezt a szálat. Próbáljatok meg hasonlóan nagy mennyiségű számlát beküldeni tesztrendszerbe, hátha sikerül reprodukálni. Többet nem tudok tenni ezügyben. A témaindítóra továbbra is annyit tudok, hogy ha van transactionId és azt lekérdezve még nincs végállapotban a számla, akkor addig hiába kérdezed queryInvoiceData operációval.

Üdv

NTCA-supporter avatar Nov 03 '21 15:11 NTCA-supporter

Úgy tudom, hogy lesz valamikor a hónapban egy nagyobb teszt számlázás és beküldés, majd meglátjuk. De sok reményt nem fűzök hozzá, a teszt nem szokott úgy szakadni, mint az éles (szerencsére mostanában az éles sem gyakran).

omachtandras avatar Nov 03 '21 15:11 omachtandras

Sziasztok! Ezzel kapcsolatban van még hibajelenség? Ha nincs, kérlek zárjátok. Üdv

NTCA-supporter avatar Jun 14 '22 13:06 NTCA-supporter

Sziasztok! Zárom az issut. Ha van még probléma, kérlek nyissatok újat. Üdv

NTCA-supporter avatar Dec 19 '22 12:12 NTCA-supporter