Neu Connector Überarbeitung für PHP8.0

svenyo

Gut bekanntes Mitglied
18. Februar 2016
113
3
Ich versuche gerade übergangsweise den Connector für modified PHP8.0 tauglich zu bekommen. Getestet wurden bislang normale Produkte sowie Kategorien. Diese werden bereits übertragen, aktualisiert und auch gelöscht. Sobald jedoch etwas gelöscht wurde, wird weder das gleiche Produkt/Kategorie noch irgendwelche neuen Produkte/Kategorien in den Shop geladen bzw. aktualisiert.
Beim Connectorabgleich kommt untenstehende Fehlermeldung.
In den Modulen Identity.php bzw. MySql.php habe ich schon nachgeschaut, konnte aber keinen Fehler finden. Sobald ich in meiner Xampp-Testumgebung einmal die PHP-Version auf 7.45 zurückstelle und einen Abgleich vornehme funktioniert alles problemlos. Auch wenn ich nun die PHP Version wieder auf 8.0.25 hochstelle funktioniert der Abgleich tadellos - Aber nur solange bis einmal etwas gelöscht wird?!

Weiß jemand einen Rat?



Abgleich-Protokoll:
Bitte beachten Sie, dass JTL-Wawi federführend ist!
Im Shop-Backend vorgenommene Änderungen können nicht mehr automatisiert abgeglichen werden und führen somit zu Datenverlust.
Prüfe Endpointkonfiguration.
Abgleich gestartet für 'TestXampp2060'.
Onlineshop-Abgleich beendet für 'TestXampp2060'.


Fehler:
Exception: strlen(): Argument #1 ($string) must be of type string, jtl\Connector\Model\Identity given
strlen(): Argument #1 ($string) must be of type string, jtl\Connector\Model\Identity given
Kategorien-Senden-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Exception bei category.push: strlen(): Argument #1 ($string) must be of type string, jtl\Connector\Model\Identity given

strlen(): Argument #1 ($string) must be of type string, jtl\Connector\Model\Identity given

Response: {"result":null,"error":{"code":0,"message":"strlen(): Argument #1 ($string) must be of type string, jtl\\Connector\\Model\\Identity given","data":"Exception 'TypeError' (Code: 0) with message 'strlen(): Argument #1 ($string) must be of type string, jtl\\Connector\\Model\\Identity given' in C:\\xampp\\htdocs\\mod2060\\jtlconnector\\vendor\\jtl\\connector\\src\\Core\\Database\\Mysql.php:567"},"jtlrpc":"2.0","id":"unknown"}
Exception bei category.push: strlen(): Argument #1 ($string) must be of type string, jtl\Connector\Model\Identity given

strlen(): Argument #1 ($string) must be of type string, jtl\Connector\Model\Identity given

Response: {"result":null,"error":{"code":0,"message":"strlen(): Argument #1 ($string) must be of type string, jtl\\Connector\\Model\\Identity given","data":"Exception 'TypeError' (Code: 0) with message 'strlen(): Argument #1 ($string) must be of type string, jtl\\Connector\\Model\\Identity given' in C:\\xampp\\htdocs\\mod2060\\jtlconnector\\vendor\\jtl\\connector\\src\\Core\\Database\\Mysql.php:567"},"jtlrpc":"2.0","id":"unknown"}
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.TfkZCNi6gkN(String , Object , Boolean , NetworkCredential )
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.bxuZCvBQsrt(String , Object , Boolean , NetworkCredential )
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.TfkZCNi6gkN(String , Object , Boolean , NetworkCredential )
 

svenyo

Gut bekanntes Mitglied
18. Februar 2016
113
3
Also soweit es meine begrenzten PHP-Fähigkeiten zulassen liegt es anscheinend
anfolgendem Ausdruck in der Datei \\jtlconnector\\vendor\\jtl\\ connector\\src\\Core\\Database\\Mysql.php (Zeile 567):

if ((is_array($key) && is_array($value)) || (strlen($key) > 0 && strlen($value) > 0)) {

Wenn ich es richtig verstanden habe wird diese Variable als Objekt gespeichert, soll aber als String gespeichert werden.
 
Zuletzt bearbeitet:

svenyo

Gut bekanntes Mitglied
18. Februar 2016
113
3
Ich habe jetzt testweise in der Datei \\jtlconnector\\vendor\\jtl\\ connector\\src\\Core\\Database\\Mysql.php die Zeile 567 abgeändert von:

PHP-Code:
if ((is_array($key) && is_array($value)) || (strlen($key) > 0 && strlen($value) > 0)) {
zu

PHP-Code:
if ((is_array($key) && is_array($value))) {
Nun erscheint keine Fehlermeldung mehr und alles funktioniert. Kann mir jemand sagen wofür der gelöschte Teil

PHP-Code:
(strlen($key) > 0 && strlen($value) > 0)
eigentlich gedacht sein könnte? Da unter PHP7.4 dieser ja nicht stört.

Jetzt habe ich allerdings das Problem, dass Artikel bzw. Varkombis nicht mehr gelöscht werden können, da sonst diese Fehlermeldung erscheint:

Exception: Attempt to assign property "deleteUnusedVariations" on null
Attempt to assign property "deleteUnusedVariations" on null
Artikel-Löschen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Exception bei product.delete: Attempt to assign property "deleteUnusedVariations" on null

Attempt to assign property "deleteUnusedVariations" on null

Response: {"result":null,"error":{"code":0,"message":"Attempt to assign property \"deleteUnusedVariations\" on null","data":"Exception 'Error' (Code: 0) with message 'Attempt to assign property \"deleteUnusedVariations\" on null' in C:\\xampp\\htdocs\\mod2060\\jtlconnector\\src\\jtl\\Connector\\ Modified\\Mapper\\Product.php:278"},"jtlrpc":"2.0","id":"unknown"}
Exception bei product.delete: Attempt to assign property "deleteUnusedVariations" on null

Attempt to assign property "deleteUnusedVariations" on null

Response: {"result":null,"error":{"code":0,"message":"Attempt to assign property \"deleteUnusedVariations\" on null","data":"Exception 'Error' (Code: 0) with message 'Attempt to assign property \"deleteUnusedVariations\" on null' in C:\\xampp\\htdocs\\mod2060\\jtlconnector\\src\\jtl\\Connector\\Modified\\Mapper\\Product.php:278"},"jtlrpc":"2.0","id":"unknown"}
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.TfkZCNi6gkN(String , Object , Boolean , NetworkCredential )
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.bxuZCvBQsrt(String , Object , Boolean , NetworkCredential )
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.TfkZCNi6gkN(String , Object , Boolean , NetworkCredential )
Kann hier jemand kurz weiterhelfen oder einen Denkanstoss geben?
 

svenyo

Gut bekanntes Mitglied
18. Februar 2016
113
3
Code:
Fehler:
Exception: Declaration of jtl\Connector\Modified\Mapper\StatusChange::push(jtl\Connector\Model\StatusChange $status) must be compatible with Jtl\Connector\XtcComponents\AbstractMapper::push(jtl\Connector\Model\DataModel $model, ?stdClass $dbObj = null)
Declaration of jtl\Connector\Modified\Mapper\StatusChange::push(jtl\Connector\Model\StatusChange $status) must be compatible with Jtl\Connector\XtcComponents\AbstractMapper::push(jtl\Connector\Model\DataModel $model, ?stdClass $dbObj = null)
Versand/Zahlung-Senden-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Exception bei status_change.push: Declaration of jtl\Connector\Modified\Mapper\StatusChange::push(jtl\Connector\Model\StatusChange $status) must be compatible with Jtl\Connector\XtcComponents\AbstractMapper::push(jtl\Connector\Model\DataModel $model, ?stdClass $dbObj = null)

Declaration of jtl\Connector\Modified\Mapper\StatusChange::push(jtl\Connector\Model\StatusChange $status) must be compatible with Jtl\Connector\XtcComponents\AbstractMapper::push(jtl\Connector\Model\DataModel $model, ?stdClass $dbObj = null)

Response: {"result":null,"error":{"code":64,"message":"Declaration of jtl\\Connector\\Modified\\Mapper\\StatusChange::push(jtl\\Connector\\Model\\StatusChange $status) must be compatible with Jtl\\Connector\\XtcComponents\\AbstractMapper::push(jtl\\Connector\\Model\\DataModel $model, ?stdClass $dbObj = null)","data":"Shutdown! File: C:\\Xampp\\htdocs\\mod2072\\jtlconnector\\src\\jtl\\Connector\\Modified\\Mapper\\StatusChange.php - Line: 9"},"jtlrpc":"2.0","id":"unknown"}
Exception bei status_change.push: Declaration of jtl\Connector\Modified\Mapper\StatusChange::push(jtl\Connector\Model\StatusChange $status) must be compatible with Jtl\Connector\XtcComponents\AbstractMapper::push(jtl\Connector\Model\DataModel $model, ?stdClass $dbObj = null)

Declaration of jtl\Connector\Modified\Mapper\StatusChange::push(jtl\Connector\Model\StatusChange $status) must be compatible with Jtl\Connector\XtcComponents\AbstractMapper::push(jtl\Connector\Model\DataModel $model, ?stdClass $dbObj = null)

Response: {"result":null,"error":{"code":64,"message":"Declaration of jtl\\Connector\\Modified\\Mapper\\StatusChange::push(jtl\\Connector\\Model\\StatusChange $status) must be compatible with Jtl\\Connector\\XtcComponents\\AbstractMapper::push(jtl\\Connector\\Model\\DataModel $model, ?stdClass $dbObj = null)","data":"Shutdown! File: C:\\Xampp\\htdocs\\mod2072\\jtlconnector\\src\\jtl\\Connector\\Modified\\Mapper\\StatusChange.php - Line: 9"},"jtlrpc":"2.0","id":"unknown"}
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.TfkZCNi6gkN(String  , Object  , Boolean  , NetworkCredential  )
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.bxuZCvBQsrt(String  , Object  , Boolean  , NetworkCredential  )
   bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.TfkZCNi6gkN(String  , Object  , Boolean  , NetworkCredential  )
Kann jemand weiterhelfen, auf was ich bei der folgenden Fehlermeldung achten muss, um den Fehler zu finden?
 

bork

Sehr aktives Mitglied
26. Januar 2007
852
104
Also für PHP 8.1 musst du ohnehin den kompletten Connector Core migrieren. Ob das nachhaltig ist, da selbst noch dran zu werkeln in der Hoffnung dass es noch lange hält? Irgendwann ist es vorbei. Aber es gibt ja auch einen fast fertigen Connector für Modified unter PHP 8.1 - der ist nichts?
 

shishaguru

Aktives Mitglied
2. April 2022
10
0
Hat es schon jemand geschafft den Connector mit Modified 3.0.2 php 8.1 zum laufen zu bringen ? Wäre sehr daran interessiert. Lg
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Connector 2.1.6 ist Live ! Releaseforum 0
Neu Release Shopify-Connector 2.1.6 ist Live Shopify-Connector 32
Eigener Drittshop-Connector (jtl/connector 5.3): valide Variationskombinationen werden mit „besitzt keine Variationen" nicht gesendet JTL-Wawi 1.11 1
Neu Problem mit dem JTL-Connector – Invalid Shopify connection credentials. Shopify-Connector 3
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 2
JTL ERP-Connector JTL-Wawi 2.0 0
Neu Fragen zum SaaS-Connector / Shopware6 bei Lagerbestandskorrektur Shopware-Connector 0
Neu Verkaufskanal Sichtbarkeit Zuweisung Artikel in Shopware gelöscht - Connector Bug? Shopware-Connector 1
Neu Release Shopware-Connector 2.1.6 Shopware-Connector 5
Neu Shopware 5 + JTL-Connector: sporadische 500 Fehler / PHP-FPM Limit erreicht – trotz unverändertem Setup User helfen Usern - Fragen zu JTL-Wawi 0
Neu Shopify Connector lässt sich nicht einrichten Shopify-Connector 1
Neu Störung Saas-Connector Shopware-Connector 8
Neu Shopware 5 connector und WawI 1.11.06 bis 1.11.8 Shopware-Connector 1
Neu Produkt-Upload schlägt fehl nach Shopware-Update 6.7.9.0 – Fehler bei quantityStart (SaaS-Connector) Shopware-Connector 14
Neu Magento 2 Connector JTL Dienstleistung, Jobs und Ähnliches 0
Neu Magento 2 Connector - eCI ( ehem. Sysgrade) - Shipping 3.0 Allgemeines zu den JTL-Connectoren 0
Neu JTL-WaWi + ESL Connector — Entwicklung mit Kostenaufteilung gesucht Business Jungle 0
Statistische Auswertung mit Klar Connector oder Controlling Software? JTL-Wawi 1.10 0
Neu Connector-Core nicht PHP >= 8.4. kompatibel? Technische Fragen zu den JTL-Connectoren 3
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt Dienstleistung, Jobs und Ähnliches 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt User helfen Usern - Fragen zu JTL-Wawi 5
In Diskussion Workflow für Erinnerungen an bevorstehende Lieferungen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Wie stelle ich Retouren in JTL für DPD ein? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Wroker macht keinen abgleich für Kaufland JTL-Wawi 2.0 6
Neu Beta-Tester gesucht: Produktdaten aus Artikelfotos schneller für JTL/CSV vorbereiten Dienstleistung, Jobs und Ähnliches 0
Neu Kundengruppeneinstellungen für Mindestabnahme und Abnahmeintervall löschen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Wie lange braucht ihr aktuell für die Anlage eines neuen Artikels? JTL-Wawi App 3
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
In Diskussion Tool für Abrechnung von Fulfillment Dienstleistungen Arbeitsabläufe im Fulfillment Network 0
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Keine Labels für Warenpost international über Packtisch JTL-ShippingLabels - Fehler und Bugs 8
Neu Laut Backend Shop Update für Shop 5.71 - Download nicht zu finden? Betrieb / Pflege von JTL-Shop 3
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Neu Artikelname & Beschreibung angepasst für jeweiligen Marktplatz Arbeitsabläufe in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
API 2.1 für OnPrem? JTL-Wawi 2.0 6
Neu Dummy-ID oder Freiposition für Angebot mit mehrzeiliger Beschreibung JTL-Wawi - Ideen, Lob und Kritik 7
Neu Neue Kennzeichnungspflicht für Elektrogeräte (Altgeräterücknahme) Betrieb / Pflege von JTL-Shop 4
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 2
Neu Exportgenehmigung / Ausfuhrgenehmigung automatisch für Auslandskunden als Aufpreis Allgemeine Fragen zu JTL-Shop 2
Für Ihren SQL-Server wurde ein Service Pack zur Verfügung gestellt - nö, gelogen, wie kriege ich die Meldung weg? JTL-Wawi 1.11 15
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Muss man für DHL Versenden 4.0 einen neuen Benutzer bei DHL anlegen? JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 5

Ähnliche Themen