Szybkie testy
isConnected: False: agent nie może połączyć się z Omnilinkerem albo Omnilinker go odrzuca.isErpConnected: False: agent nie może odczytać bazy danych ERP.- Rosnąca wartość
pendingw statystykach kolejki wychodzącej: zmiany są wykrywane, ale nie są dostarczane.
Typowe problemy
Gdzie są logi?
Gdzie są logi?
C:\ProgramData\Omnilinker\ErpSync\logs. Każdy, kto jest zalogowany na komputerze, może go
czytać. Aby śledzić dzisiejszy plik:setup.log w tym samym folderze. Zobacz Instalacja się zakończyła, ale usługi nie ma.Log synchronizacji. Agent prowadzi też krótki log zdarzeń synchronizacji w swojej lokalnej bazie danych.
Możesz go przeczytać w aplikacji w zasobniku przez View Logs albo przez GET /api/sync/logs w
lokalnym API.Agent nie zapisuje własnych komunikatów w dzienniku zdarzeń Windows. Windows rejestruje błędy uruchamiania usługi
w dzienniku System (zobacz następny wpis).Usługa się nie uruchamia
Usługa się nie uruchamia
Get-Service OmnilinkerErpSyncService pokazuje Stopped albo usługa zatrzymuje się krótko po uruchomieniu.
Aplikacja w zasobniku pokazuje w etykiecie ikony Disconnected.Usługa jest skonfigurowana tak, aby po awarii uruchamiać się ponownie (po 5, 10 i 30 sekundach), więc jeśli
ciągle się zatrzymuje, problemu nie rozwiązuje ponowne uruchomienie.- Otwórz Podgląd zdarzeń > Dzienniki systemu Windows > System i poszukaj błędów ze źródła
Service Control Manager, które wymieniają Omnilinker ERP Sync (Omnilinker ERP Sync Service
w instalacji wykonanej skryptem
install-service.ps1). W przypadku awarii sprawdź też Dzienniki systemu Windows > Aplikacja pod kątem wpisów .NET Runtime lub Application Error. - Otwórz najnowszy plik logu usługi (zobacz Gdzie są logi?). Jeśli usługa uruchomiła się na tyle, żeby coś
zapisać, ostatnie wiersze mówią, dlaczego się zatrzymała. Krytyczny błąd uruchamiania kończy się komunikatem
Omnilinker ERP Sync Service terminated unexpectedly.
- Błąd logowania. Ktoś ustawił usługę tak, aby działała na innym koncie, a hasło tego konta się zmieniło. Dziennik System informuje, że usługa nie została uruchomiona z powodu błędu logowania. Otwórz Usługi, otwórz Omnilinker ERP Sync > kartę Logowanie, wybierz Konto systemu lokalnego i kliknij OK. Agent jest przeznaczony do działania jako Lokalny system.
- Port 5555 jest zajęty. Zobacz Port lokalnego API jest już zajęty.
-
Uszkodzony plik
appsettings.json. Jeśli go edytowałeś, sprawdź, czy nadal zawiera poprawny JSON. W folderze instalacji uruchom:Błąd oznacza, że plik jest niepoprawny. Popraw go albo przywróć z oryginalnego pakietu.
Instalacja się zakończyła, ale usługi nie ma
Instalacja się zakończyła, ale usługi nie ma
Get-Service OmnilinkerErpSyncService nie znajduje usługi albo aplikacja
w zasobniku nie uruchamia się przy logowaniu. Instalator nigdy nie przerywa pracy z powodu jednego kroku; to,
czego nie udało się zrobić, zapisuje w %ProgramData%\Omnilinker\ErpSync\logs\setup.log:setup.log w ogóle nie ma, instalator nie zdołał nawet utworzyć folderu. Uruchom go ponownie
w PowerShell jako administrator.Aplikacja w zasobniku nie łączy się z usługą
Aplikacja w zasobniku nie łączy się z usługą
- Sprawdź, czy usługa działa:
Get-Service OmnilinkerErpSyncService. Jeśli nie, zobacz Usługa się nie uruchamia. - Jeśli aplikacja w zasobniku pokazuje „Something other than the Omnilinker service answered. Restart the PC; if it happens again, contact support.”, w potoku agenta odpowiedział inny program. Aplikacja w zasobniku rozmawia tylko z usługą Windows. Uruchom komputer ponownie.
Aplikacja w zasobniku pokazuje Only an administrator of this PC can do that.
Aplikacja w zasobniku pokazuje Only an administrator of this PC can do that.
Lokalne API odpowiada 403 Forbidden
Lokalne API odpowiada 403 Forbidden
403 Forbidden z pustą treścią z adresu
http://localhost:5555/api/....- Dodaj do każdego żądania nagłówek
X-Omnilinker-Local: 1. Zobacz Lokalne API. - Wywołuj API przez
localhost,127.0.0.1albo[::1], a nie przez nazwę komputera. - Ze strony internetowej API mogą wywoływać tylko strony Omnilinkera.
Port lokalnego API jest już zajęty
Port lokalnego API jest już zajęty
Failed to bind to address http://127.0.0.1:5555: address already in use.Inny program używa portu 5555 na komputerze z agentem. Znajdź go:LocalApiPort w appsettings.json, ale karta Usługa lokalna w
aplikacji webowej i zapasowe połączenie aplikacji w zasobniku nadal używają portu 5555 i nie połączą się z
agentem. Jeśli to możliwe, zwolnij port 5555. Zobacz opis konfiguracji.Karta Agent pokazuje Offline
Karta Agent pokazuje Offline
- Czy usługa działa? Zobacz Usługa się nie uruchamia.
- Czy agent może połączyć się z Omnilinkerem? Zobacz Agent nie może połączyć się z omnilinker.pl.
- Czy połączenie jest aktywne? W Integracja ERP > Połączenia połączenie musi mieć Status Aktywne. Omnilinker odrzuca sygnały kontrolne i zmiany dla nieaktywnego połączenia. Aby je włączyć, kliknij Aktywuj w menu Akcje wiersza.
- Czy klucz API jest nadal ważny? Zobacz Klucz API jest odrzucany.
- Czy agent nie jest za stary? Zobacz Omnilinker odrzuca wersję agenta.
Klucz API jest odrzucany
Klucz API jest odrzucany
- W Omnilinkerze otwórz Integracja ERP > Połączenia, otwórz menu Akcje wiersza i kliknij Wygeneruj klucz agenta. Skopiuj klucz. Jest wyświetlany tylko raz. Zobacz Tworzenie połączenia.
- Na komputerze z agentem otwórz Settings… w aplikacji w zasobniku, wklej klucz w sekcji Cloud Connection, kliknij Validate, a potem Save. Zobacz Aplikacja w zasobniku.
- „API key doesn’t have required permissions. Grant ERP Integration permissions to this API key.” Klucz nie jest kluczem agenta. Użyj klucza z Wygeneruj klucz agenta, a nie klucza ze strony kluczy API w Administracji.
- „This agent key is not authorized for the requested ERP connection.” Klucz należy do innego połączenia. Wybierz właściwe połączenie w ustawieniach aplikacji w zasobniku albo wygeneruj klucz w tym połączeniu.
Status: Forbidden w pierwszym komunikacie powyżej nie oznacza problemu z kluczem. Zobacz
Omnilinker odrzuca wersję agenta i Zmiany nie docierają.Omnilinker odrzuca wersję agenta
Omnilinker odrzuca wersję agenta
- W Omnilinkerze karta Agent połączenia zmienia stan na Offline, a Ostatni sygnał kontrolny przestaje się zmieniać. Wersja agenta nadal pokazuje Twoją starą wersję.
- W logu agenta pojawia się
Heartbeat returned ForbiddenorazCloud API returned Forbidden for batch publish:, a po nim powyższy komunikat. Sprawdzanie konfiguracji zapisuje teżAuthentication failed ... Status: Forbidden, choć klucz jest w porządku. - Liczba
pendingw kolejce wychodzącej rośnie, a później rośnie teżfailed.
AutoUpdateEnabled) i czy komputer agenta ma dostęp do releases.omnilinker.com, albo uruchom nowy instalator
ręcznie.Zrób to szybko. Każde odrzucone wysłanie liczy się jako nieudana próba, a zmiany, których wszystkie próby się nie
powiodły, nie są wysyłane ponownie (zobacz Zmiany nie docierają).Agent nie może połączyć się z omnilinker.pl
Agent nie może połączyć się z omnilinker.pl
isConnected: False. Test połączenia z chmurą w aplikacji w zasobniku kończy się komunikatem
Cloud connection failed: z przyczyną albo Cloud returned status: ze statusem HTTP.-
Sprawdź połączenie z komputera z agentem:
TcpTestSucceeded : Falseoznacza, że połączenie blokuje zapora lub sieć. Agent potrzebuje wychodzącego połączenia HTTPS doomnilinker.plna porcie 443. Zobacz Wymagania. -
Jeśli Twoja sieć wymaga serwera proxy, ustaw go dla całego komputera za pomocą zmiennej środowiskowej
HTTPS_PROXY, a następnie uruchom usługę ponownie. Usługa działa jako Lokalny system, więc nie korzysta z ustawień proxy zalogowanej osoby: -
Sprawdź API URL w oknie Settings… aplikacji w zasobniku. Powinien to być
https://omnilinker.pl.
Agent nie może połączyć się z bazą danych ERP
Agent nie może połączyć się z bazą danych ERP
isErpConnected: False albo Test Connection w aplikacji w zasobniku zwraca SQL error:, a po
nim komunikat SQL Server.Przetestuj ustawienia bazy danych w aplikacji w zasobniku: Settings… > Database Connection >
Test Connection. Test jest wykonywany w usłudze Windows, na koncie usługi, więc zachowuje się tak samo jak agent.Nie można znaleźć serwera. Komunikat SQL Server zaczyna się od „A network-related or instance-specific error
occurred while establishing a connection to SQL Server”.-
Sprawdź Server / Host. Dla nazwanego wystąpienia użyj formatu
server\instance, na przykładerp-server\WAPRO. -
Sprawdź, czy komputer z agentem może połączyć się z portem SQL Server:
Jeśli Twoje wystąpienie nie używa portu 1433, podaj jego port. Nazwane wystąpienie z portem dynamicznym wymaga też usługi SQL Server Browser i portu UDP 1434.
- Uwierzytelnianie SQL Server (pole Username jest wypełnione): sprawdź nazwę użytkownika i hasło oraz to, czy SQL Server zezwala na uwierzytelnianie SQL Server (tryb mieszany).
- Uwierzytelnianie Windows (pole Username puste): agent loguje się jako konto usługi, Lokalny system,
a nie jako Ty. Użytkownik wymieniony w komunikacie to właśnie to konto: konto domenowe komputera z agentem
(
DOMAIN\COMPUTER$) przy zdalnym SQL Server alboNT AUTHORITY\SYSTEMprzy SQL Server na tym samym komputerze. Nadaj temu kontu login i dostęp do odczytu bazy danych ERP albo użyj uwierzytelniania SQL Server. Zobacz Wymagania. - Sprawdź, czy login może otworzyć bazę danych podaną w polu Database Name.
Zmiany nie docierają (kolejka wychodząca rośnie)
Zmiany nie docierają (kolejka wychodząca rośnie)
GET /api/sync/outbox/stats pokazuje rosnącą wartość
pending albo failed większe od zera. Menu w zasobniku pokazuje Queue: <n> pending | <n> failed.Jak agent ponawia próby. Agent przechowuje każdą zmianę w lokalnej kolejce wychodzącej (outbox) i co kilka
sekund wysyła zmiany w paczkach. Gdy wysłanie się nie powiedzie, z jakiegokolwiek powodu, zmiana pozostaje w stanie
pending i jest wysyłana ponownie w następnym cyklu. Po 5 nieudanych próbach (MaxRetryAttempts w
appsettings.json) zostaje oznaczona jako failed i agent już jej nie wysyła.Przyczynę znajdziesz w pliku logu agenta. Szukaj tych wierszy:Agent jest online, ale nic się nie synchronizuje
Agent jest online, ale nic się nie synchronizuje
- Czy synchronizacja jest wstrzymana? Ikona w zasobniku jest bursztynowa, a jej etykieta pokazuje Paused,
albo status pokazuje
state: 2. Wybierz Resume Sync w menu w zasobniku. Zobacz Aplikacja w zasobniku. - Czy typ encji jest skonfigurowany? Na karcie Konfiguracja synchronizacji połączenia każdy typ encji, który chcesz synchronizować, musi mieć konfigurację w stanie Włączone. Jeśli karta pokazuje komunikat „Nie znaleziono konfiguracji synchronizacji. Dodaj konfigurację, aby włączyć synchronizację.”, dodaj konfigurację. Zobacz Konfiguracja synchronizacji.
- Czy wykrywanie zmian jest włączone? Przy wykrywaniu zmian przez skanowanie skrótów (domyślnym) agent znajduje zmiany tylko dzięki weryfikacji hash. Otwórz konfigurację synchronizacji typu Produkt, rozwiń Zaawansowane ustawienia czasowe i upewnij się, że Wykrywanie zmian przez hash ma zaznaczone Włączone. W menu w zasobniku Hash Check: Disabled oznacza, że jest wyłączone.
- Czy agent wczytał swoją konfigurację? Jeśli
lastErrorma wartośćWaiting for cloud configuration, agent nie pobrał jeszcze swoich ustawień z Omnilinkera. Zobacz Klucz API jest odrzucany i Agent nie może połączyć się z omnilinker.pl. - Czy dane logowania do ERP są ustawione? Jeśli
lastErrorma wartośćERP credentials not configuredalbo test ERP w aplikacji w zasobniku pokazuje „No ERP credentials configured. Run setup wizard to configure.”, przejdź przez kreator konfiguracji. - Czy w ERP coś się zmieniło? Agent wysyła tylko zmiany. Pierwsza weryfikacja hash po instalacji porównuje wszystkie rekordy, a kolejne znajdują tylko to, co zmieniło się od poprzedniej. Aby sprawdzić od razu, wybierz Trigger Hash Check w menu w zasobniku.
Zmiany docierają jako pominięte
Zmiany docierają jako pominięte
ErpIntegration:Skip:ProductNotMapped. Omnilinker otrzymał zmianę, ale celowo jej nie zastosował.Większość z nich oznacza, że coś nie jest jeszcze zmapowane:ErpIntegration:Skip:PriceLevelNotMappedlubErpIntegration:Skip:WarehouseNotMapped: zmapuj poziom cen lub magazyn ERP na karcie Mapowania połączenia. Zobacz Dane słownikowe.ErpIntegration:Skip:ProductNotMapped: cena, stan magazynowy lub zestaw należy do produktu, który nie jest jeszcze powiązany z produktem w katalogu. Upewnij się, że produkty synchronizują się jako pierwsze. Zobacz Mapowania pól.
Akcja Testuj połączenie w aplikacji webowej zawsze kończy się niepowodzeniem
Akcja Testuj połączenie w aplikacji webowej zawsze kończy się niepowodzeniem
Przyciski Uruchom synchronizację i Ponów w aplikacji webowej nic nie robią
Przyciski Uruchom synchronizację i Ponów w aplikacji webowej nic nie robią
POST /api/sync/now w lokalnym API. Zobacz też Monitorowanie.Karta Usługa lokalna pokazuje Lokalna usługa synchronizacji niedostępna
Karta Usługa lokalna pokazuje Lokalna usługa synchronizacji niedostępna
http://localhost:5555 z Twojej
przeglądarki. Działa tylko w przeglądarce na komputerze z agentem, gdy agent używa portu 5555. Na każdym innym
komputerze ten komunikat jest oczekiwany. Zamiast tego użyj karty Agent. Zobacz
Monitorowanie.Pomoc
Jeśli nic z tego nie rozwiąże problemu, skontaktuj się z pomocą techniczną Omnilinkera. Dołącz:- Nazwę połączenia i to, co widzisz na jego karcie Agent.
- Wersję agenta z karty Agent albo z pola
versionwGET /api/sync/status. - Wynik szybkich testów z początku tej strony.
- Pliki logu usługi z okresu, w którym pojawił się problem.