Dzień dobry,
Od około trzech miesięcy korzystamy z integracji z systemem EZD RP za pomocą API, jednak od kilku tygodni zauważamy, że API czasami zwraca błąd ‘Inna transakcja w toku’. Przykładowo, w naszej aplikacji wykonujemy następujące kroki:
- Generujemy token do dodawania pliku, następnie dodajemy plik do repozytorium, a potem dodajemy go do sprawy (wykonujemy zapytanie na endpoint /sprawa/dokument/dodaj).
- Po udanym dodaniu dokumentu do sprawy otrzymujemy id dokumentu, a w przypadku błędu informację o niepowodzeniu.
- Następnie aktualizujemy metadane dokumentu. W tym momencie czasami otrzymujemy błąd “Inna transakcja w toku”.
Błąd sugeruje, że w tym samym czasie wykonujemy inną akcję, ale przed każdym zapytaniem upewniamy się, że poprzednie zakończyło się sukcesem i zwróciło odpowiednie dane. Jeśli dodanie dokumentu zakończy się błędem, dalsze wykonywanie metody jest przerywane. Niemniej jednak otrzymujemy informację o pomyślnym dodaniu dokumentu, co powinno oznaczać, że transakcja została zakończona.
Chciałbym zapytać, czy mogą występować problemy z synchronizacją transakcji po stronie systemu EZD RP? Czy istnieją jakieś mechanizmy, które mogłyby pomóc uniknąć takich sytuacji, np. poprzez blokowanie zasobów lub inne mechanizmy transakcyjne? Dodam że wyżej opisany błąd pojawił się jakiś czas temu, może wynika to z aktualizacji po stronie EZD RP? Wcześniej wykonywaliśmy te same akcje bez żadnych problemów. Aktualizowanie metadanych nie jest jedynym zapytaniem, które zwraca ten błąd, podobna sytuacja zdarza się np. przy próbie zamknięcia sprawy (zaraz po tym jak dodaliśmy dokument i zaktualizowaliśmy jego metadane).
.
Z góry dziękuję za pomoc.