Neu Fehler in Connector-Requestdaten nach Änderung der Kundengruppe in der Wawi

David Duchrow

Mitglied
30. März 2022
7
2
In der Wawi habe ich einen Kunden, der im Shop noch nicht vorliegt.
Diesem gebe ich die Kundengruppe VK_4 mit hostId 6 und EndpointId VK_4.
Dann übertrage ich den Kunden über den Connector an den Shop mit der Aktion customer.push.
Im RPC-Log ist zu sehen, dass die Kundengruppe völlig richtig mit hostId 6 uns ohne endpointId an den Connector gesendet wird.
Im Connector-Core wird außerhalb der individuellen Controller vollautomatisch die richtige endpointId VK_4 aus dem PrimaryKeyMapper gelesen und zur CustomerGroupId hinzugefügt.
Das Objekt, das im Response an die Wawi zurück geht, hat laut RPC-Log -soweit noch völlig richtig- in der CustomerGroupId hostId 6 und endpointId VK_4.
Dann ändere ich in der Wawi die Kundengruppe des Kunden von VK_4 auf VK_2 mit der hostId 4 und der endpointId VK_2. In der CustomerGroupId ändert sich die hostId völlig richtig auf 4, aber die endPointId VK_4 bleibt erhalten. Die stimmt ab jetzt nicht mehr.
Dann übertrage ich erneut den Kunden über den Connector an den Shop mit der Aktion customer.push.
Im RPC-Log ist jetzt zu sehen, dass die Kundengruppe völlig richtig mit hostId 4 aber leider mit der falschen endpointId VK_4 an den Connector gesendet wird.
Im Connector-Core wird schon vor Ausführung der individuellen Controller vollautomatisch die falsche Kombination aus hostId 4 und endpointId VK_4 in den PrimaryKeyMapper geschrieben.
Diese Falschinformation im PrimaryKeyMapper führt ab diesem Zeitpunkt zu Folgefehlern bei Übertragungen von Kundengruppeninformationen.

Als einen Lösungsansatz habe ich überlegt ein Plugin zu schreiben, das vor dem Schreiben der falschen Daten im PrimaryKeyMapper die falsche endpointId aus den Daten entfernt. Welches Event wäre hier zu empfehlen?

Ich hatte auch überlegt im Customer-Controller am Ende der Push-Funktion die endpointId aus der CustomerGroupId zu löschen, damit sie gar nicht erst an die Wawi gesendet wird. Das hilft allerdings nicht mehr für die Kunden, die in der Wawi bereits eine endpointId der CustomerGroupId haben.

Letztendlich halte ich das aber für einen Fehler in der Wawi oder im Connector-Core. Wo und wie kann ich eine Änderung in diesen Systemen anregen?
 
Zuletzt bearbeitet:

M. Hadgu

Moderator
Mitarbeiter
4. Mai 2016
48
17
Hürth
Hallo David, die Kollegen sind bereits informiert und werden dir zeitnah Antworten. ich bitte dich um etwas Geduld. Danke
 

David Duchrow

Mitglied
30. März 2022
7
2
Vielen Dank für Deine Hilfe
(auch für die anderen von mir erstellten Threads).

Für dieses Problem habe ich inzwischen ein kleines Workaround gebaut.
Es ist das im ersten Post dieses Thread vorgeschlagene Plugin. Es entfernt im RpcEvent BEFORE für die Action customer.push die endpointId aus der CustomerGroupId.
Ich bin nicht sicher, ob es vielleicht besser wäre das gleiche auch im AFTER-Event zu tun, damit die endpointId gar nicht erst zur Wawi gesendet wird. Da es aber so, wie es ist, funktioniert,, habe ich vorerst auf alles weitere verzichtet.

Ich habe es an diesen Post angehängt, falls ich nicht der Einzige bin, der es brauchen kann.
(Es sind nur wenige Codezeilen und es ist (hoffentlich) leicht nachvollziehbar, was es macht.)

Sobald es eine andere Lösung gibt, werde ich dieses Plugin wieder aus meinem Connector entfernen.
 

Anhänge

Ähnliche Themen