Neu Connector Probleme mit Wawi 1.6

  • Ersteller des Themas Ersteller des Themas Tomas
  • Erstellungsdatum Erstellungsdatum

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
70
Lübeck
Hallo alle zusammen,

ich wollte gerade einen neuen Connector in der Wawi anlegen (1.6.47.0), jedoch bekomme ich folgende Fehlermeldung:

Beim Speichern der Daten für den Verkaufskanal JTL-Connector ist ein Fehler aufgetreten.
Bei dem Versuch eine Verbindung zu Onlineshop 'bags for living Neu' herzustellen, ist ein Fehler aufgetreten. Bitte prüfen Sie, ob eine Verbindung zu URL 'https://bfl-data.ordnungundmehr.com/' hergestellt werden kann oder prüfen Sie Ihre Internetverbindung.
Der Wert darf nicht NULL sein. Parametername: languageIso

Das ist ein Connector welchen ich auf Basis des Beispiel JTL-Connectors gebaut habe. Den Connector brauche ich für ein Projekt, das diese Woche live gehen soll. Ich war dabei die Prod Umgebung aufzusetzen.
Die Dev Umgebung, welche ich eingerichtet habe während die Wawi noch auf 1.5.x lief, schmeißt beim aufrufen des Eintrags in den Verkaufskanälen zwar den gleichen Fehler - synchronisiert sich mit dem Connector aber problemlos.
Der neu angelegte Connector wird nicht synchronisiert. Ich habe jetzt beim neu anlegen auch nicht mehr die Möglichkeit Kundengruppen, Währungen oder Sprachen auszuwählen. Es ist leider alles ausgegraut.

Screenshot 2023-03-07 003646.png

Angelegte Connectoren kann ich übrigens auch nicht mehr löschen. 😕

Hat jemand eine Idee?

Viele Grüße

Tomas
 

Anhänge

  • Screenshot 2023-03-07 003646.png
    Screenshot 2023-03-07 003646.png
    48,4 KB · Aufrufe: 7

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
70
Lübeck
Hallo @Tim Platzke ,

vielen Dank für deinen Tipp, der hat mir sehr weitergeholfen! Ich konnte soweit alle Fehler im Connector ausmerzen.

Jetzt habe ich ein weiteres Problem, welches ich mir so gar nicht erklären kann.
Wenn ich mich mit meiner lokalen Wawi 1.6.47.0 zum Connector Verbinde, werden alle Daten tadellos übertragen.
Wenn ich aber die gleichen Einstellungen in der Prod Umgebung (Wawi 1.6.47.0) hinterlege, dann wird nichts synchronisiert.

Eine Sache, die mir aufgefallen ist, dass dort Unicorn Einträge für z.B. OttoMarket sind, die beim auswählen Fehlermeldungen werfen.
Laut meiner Kollegen, werden die Daten dorthin aber übertragen. Nur zu meinen Connectoren nicht mehr.

Wenn ich unter "Plattformen" auf "Abgleich Starten" klicke und Connectoren auswähle, bekomme ich folgende Fehlermeldung:

Code:
Unbehandelte Ausnahme #959190594F6282F vom Typ System.Exception in
System.Exception: Fehler beim Verbindungsaufbau: Exception bei core.connector.auth: Ungültiger URI: Das URI-Format konnte nicht bestimmt werden.

Ungültiger URI: Das URI-Format konnte nicht bestimmt werden.

Response: <Empty>

2023-03-09T22:14:38 DEBUG - CREATE TABLE #163c563f0a3146ea847eb44fb1fd24b6 ( kBenutzer Int NOT NULL , cName NVarChar(max) NULL , cWert NVarChar(max) NULL  );
2023-03-09T22:14:38 DEBUG - Dauer: 2ms
2023-03-09T22:14:38 DEBUG -
-- Änderungen an Layouts synchronisieren
WITH targetData AS
(
    SELECT tUserLayout.*
    FROM dbo.tUserLayout
    WHERE tUserLayout.cName IN ( SELECT cName FROM #163c563f0a3146ea847eb44fb1fd24b6 )
)

MERGE INTO targetData
USING (SELECT * FROM #163c563f0a3146ea847eb44fb1fd24b6) AS sourceData
ON targetData.kBenutzer = sourceData.kBenutzer AND targetData.cName = sourceData.cName

WHEN NOT MATCHED BY TARGET THEN
 INSERT (kBenutzer, cName, cWert)
 VALUES (sourceData.kBenutzer, sourceData.cName, sourceData.cWert)

WHEN MATCHED AND ( targetData.cWert <> sourceData.cWert )
THEN
    UPDATE SET
    targetData.cWert= sourceData.cWert;
2023-03-09T22:14:38 DEBUG - Dauer: 12ms, AffectedRows: 0
2023-03-09T22:14:38 DEBUG - CREATE TABLE #c4294e52ed2f4fa6afc89d5a62a3fb4c ( kBenutzer Int NOT NULL , cName NVarChar(max) NULL , cWert NVarChar(max) NULL  );
2023-03-09T22:14:38 DEBUG - Dauer: 2ms
2023-03-09T22:14:38 DEBUG -
-- Änderungen an Layouts synchronisieren
WITH targetData AS
(
    SELECT tUserLayout.*
    FROM dbo.tUserLayout
    WHERE tUserLayout.cName IN ( SELECT cName FROM #c4294e52ed2f4fa6afc89d5a62a3fb4c )
)

MERGE INTO targetData
USING (SELECT * FROM #c4294e52ed2f4fa6afc89d5a62a3fb4c) AS sourceData
ON targetData.kBenutzer = sourceData.kBenutzer AND targetData.cName = sourceData.cName

WHEN NOT MATCHED BY TARGET THEN
 INSERT (kBenutzer, cName, cWert)
 VALUES (sourceData.kBenutzer, sourceData.cName, sourceData.cWert)

WHEN MATCHED AND ( targetData.cWert <> sourceData.cWert )
THEN
    UPDATE SET
    targetData.cWert= sourceData.cWert;
2023-03-09T22:14:38 DEBUG - Dauer: 11ms, AffectedRows: 0
2023-03-09T22:14:38 DEBUG - CREATE TABLE #7470c16e2fd04acea3c5e231e0eb9dfd ( kBenutzer Int NOT NULL , cName NVarChar(max) NULL , cWert NVarChar(max) NULL  );
2023-03-09T22:14:38 DEBUG - Dauer: 2ms
2023-03-09T22:14:38 DEBUG -
-- Änderungen an Layouts synchronisieren
WITH targetData AS
(
    SELECT tUserLayout.*
    FROM dbo.tUserLayout
    WHERE tUserLayout.cName IN ( SELECT cName FROM #7470c16e2fd04acea3c5e231e0eb9dfd )
)

MERGE INTO targetData
USING (SELECT * FROM #7470c16e2fd04acea3c5e231e0eb9dfd) AS sourceData
ON targetData.kBenutzer = sourceData.kBenutzer AND targetData.cName = sourceData.cName

WHEN NOT MATCHED BY TARGET THEN
 INSERT (kBenutzer, cName, cWert)
 VALUES (sourceData.kBenutzer, sourceData.cName, sourceData.cWert)

WHEN MATCHED AND ( targetData.cWert <> sourceData.cWert )
THEN
    UPDATE SET
    targetData.cWert= sourceData.cWert;
2023-03-09T22:14:38 DEBUG - Dauer: 11ms, AffectedRows: 0
2023-03-09T22:14:38 DEBUG -
DELETE FROM dbo.tUniqueSession WHERE cContext = @cContext
@cContext = 'Verkaufskanaele'
2023-03-09T22:14:38 DEBUG - Dauer: 1ms, AffectedRows: 1
2023-03-09T22:14:38 DEBUG - Window unloaded and unregistered from unload.
2023-03-09T22:15:18 DEBUG - SELECT cWert FROM [tUserSetting] WHERE kBenutzer=@kBenutzer AND cName = @cName
@kBenutzer = 3
@cName = 'PlattformAbgleich'
2023-03-09T22:15:18 DEBUG - Dauer: 1ms, Result:
2023-03-09T22:15:18 DEBUG - SELECT cWert FROM [tUserLayout] WHERE kBenutzer=@kBenutzer AND cName = @cName
@kBenutzer = 3
@cName = 'jtlCore.ControllerClasses.AbgleichPlattformAbgleichForm'
2023-03-09T22:15:18 DEBUG - Dauer: 1ms, Result:
2023-03-09T22:15:19 DEBUG - SELECT * FROM [tShop]
2023-03-09T22:15:19 DEBUG - Dauer: 1ms, (bis zum Reader)
2023-03-09T22:15:19 DEBUG - Dauer: 8ms, 15 Zeilen
2023-03-09T22:15:19 DEBUG - SELECT COUNT(*)
                                                            FROM dbo.tArtikel
2023-03-09T22:15:19 DEBUG - Dauer: 2ms, Result: 4670
2023-03-09T22:15:20 DEBUG - Fehler bei Verbindung/Session-Call
Zeitstempel: 2023-03-09T22:15:23
Locale: German (Germany)
Locale: German (Germany)
Version: 1.6.47.0
Plattform: Wawi
WawiSeed: 8.9.55935.10501
Prozessname: JTL-Wawi
Physikalischer Speicher: 754196480 / Peak: 762494976
Basispriorität: 8
Prioritätsklasse: Normal
CPU-Zeit (User): 0:03:33,53125
CPU-Zeit (System): 0:01:31,84375
Page-Size (Sytem): 2625752 / Peak: 734384128
Page-Size: 729411584 / Peak: 734384128
Offene Handles: 2714
Database:
Build: 2302031302 191a9cffaebdfe1713701b31cc3ba44172ee622b

Hast du eine Idee, wie ich meinen Connector zum laufen bekommen könnte? Ich bin langsam ratlos. :/


Viele Grüße

Tomas
 

Tim Platzke

Sehr aktives Mitglied
9. Juni 2022
147
73
Hmm schwer zu sagen, meine vermutung würde hier aber auch auf unicorn liegen.

Du kannst aber mal prüfen ob bei allen connectoren das protocoll angegeben ist (http oder https)

Mehr fällt mir dazu nicht ein, da ich nicht für die Wawi Seite zuständig bin.
 

Tomas

Sehr aktives Mitglied
8. Januar 2018
330
70
Lübeck
@Tim Platzke vielen Dank für die schnelle Antwort. Unser Gefühl hat sich bestätigt 🙂 Dein Kollege @Nico Timmer konnte mir weiterhelfen.

Ich würde gerne nochmal zusammenfassen, was ich jetzt gemacht habe, sollten andere Entwickler auf das gleiche Problem stoßen.

Zu dem Problem mit der languageIso
Hier habe ich tatsächlich bei den Kundengruppen die languageIso nicht definiert. Ich hatte mich da zu sehr an den Beispiel Connector orientiert. (Copy-Paste *hust*)
In der GlobalDataController.php muss dies angepasst werden.

Beispiel:
PHP:
(new CustomerGroupI18n())->setName('Haendler')->setLanguageIso('ger')

Zu dem Problem der n icht synchronisierenden Connectoren
Hier kam der Tipp von @Nico Timmer, dass vermutlich etwas beim Unicorn Update schief gelaufen ist, da der nTyp = 3 ( Aktiv aber ausgeblendet) anstatt nTyp = 1 ( Aktiv und eingeblendet ) sein muss.
Die Einträge findet man in der Datenbank der JTL-Wawi in der Tabelle tShop.

Nachdem ich die Einträge wie empfohlen angepasst hatte, sprudelten die Daten in den Connector!


Vielen vielen vielen Dank für die tolle und schnelle Hilfe! Ihr habt mein Wochenende und den Launch unseres Projektes gerettet! 🙂

Viele Grüße

Tomas
 
  • Gefällt mir
Reaktionen: Nico Timmer

Ähnliche Themen