Nach dem Update auf JTL-Wawi 1.5.47.2 bricht der Abgleich während des Sendens der Artikel ab (nachdem Kunden, Aufträge und Zahlungen korrekt von Shopware and die Wawi übermittelt worden sind), mit folgender Meldung:
global.ERROR: Exception 'Error' (Code: 0) with message 'Call to a member function getIso() on null' in /var/www/webroot/ROOT/engine/Shopware/Plugins/Local/Frontend/jtlconnector/src/Mapper/Product.php:647 [] []
Zeile 647 in Product.php lautet:
return $swTaxRule->getCountry()->getIso();
und stammt aus diesem Teil der Datei (ab Zeile 644):
Wir hatten vor dem Update Probleme mit der Anbindung einer Kasse mit JTL-POS und haben dann vor dem Update die POS-Filiale ganz entfernt. Beim andern Mandanten, bei dem wir keine Versuche mit POS durgeführt haben, klappt auch nach dem Update alles ohne Probleme (die Shopware-Installationen befinden sich allerdings bei zwei verschiedenen Providern).
In der config.json habe ich "developer_logging": true, gesetzt, es wird aber nach wie vor nur ein global.log mit den gleichen Inhalten geschrieben.
-------
In der Zwischenzeit habe ich etwas in die JTL-Datenbank reingeschaut und da ist mir aufgefallen, dass der Mandant, der nicht funktioniert einen Eintrag in der Tabelle dbo.tShopSubshop hat:
Das hat mich einerseits stutzig gemacht, weil wir "Sunmi 1", das war der Name der POS-Filiale und POS-Kasse, schon vor dem Update gelöscht haben,
andererseits weil in dbo.tShop gar kein Eintrag mit kShop = 7 besteht:
Ich habe aber trotzdem Hemmungen, den Eintrag in dbo.tShopSubshop einfach zu löschen, da ich nicht weiß, ob andere Einträge davon abhängen und ob das überhaupt etwas mit unserem Problem zu tun hat.
Eigentlich bin ich auf der Suche danach, was der Connector machen möchte (welche Artikel zum Senden vorgemerkt sind usw.), bin aber bisher weder in der JTL-, noch in der Shopware-Datenbank fündig geworden.
Kann jemand weiterhelfen?
Grüße, Daniel
Die Logdatei global-YYYY-MM-DD.log enthält jeweils den folgenden Hinweis: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 'b-tool Onlineshop'.
Onlineshop-Abgleich beendet für 'b-tool Onlineshop'.
Fehler:
Exception: Call to a member function getIso() on null
Call to a member function getIso() on null
Artikel-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 product.push: Call to a member function getIso() on null
Call to a member function getIso() on null
Response: {"result":null,"error":{"code":0,"message":"Call to a member function getIso() on null","data":"Exception 'Error' (Code: 0) with message 'Call to a member function getIso() on null' in \/var\/www\/webroot\/ROOT\/engine\/Shopware\/Plugins\/Local\/Frontend\/jtlconnector\/src\/Mapper\/Product.php:647"},"jtlrpc":"2.0","id":"unknown"}
Exception bei product.push: Call to a member function getIso() on null
Call to a member function getIso() on null
Response: {"result":null,"error":{"code":0,"message":"Call to a member function getIso() on null","data":"Exception 'Error' (Code: 0) with message 'Call to a member function getIso() on null' in \/var\/www\/webroot\/ROOT\/engine\/Shopware\/Plugins\/Local\/Frontend\/jtlconnector\/src\/Mapper\/Product.php:647"},"jtlrpc":"2.0","id":"unknown"}
bei jtlCore.ControllerClasses. Connector.Abgleich.Connector.YOe5Ujcrfds(String , Object , Boolean , NetworkCredential )
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.pOD5Ub66aRf(String , Object , Boolean , NetworkCredential )
bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.YOe5Ujcrfds(String , Object , Boolean , NetworkCredential )
global.ERROR: Exception 'Error' (Code: 0) with message 'Call to a member function getIso() on null' in /var/www/webroot/ROOT/engine/Shopware/Plugins/Local/Frontend/jtlconnector/src/Mapper/Product.php:647 [] []
Zeile 647 in Product.php lautet:
return $swTaxRule->getCountry()->getIso();
und stammt aus diesem Teil der Datei (ab Zeile 644):
Es scheint, dass das irgendetwas mit den Steuereinstellungen zu tun haben könnte, aber wir haben bis jetzt nichts gefunden.foreach ($swTaxGroups as $swTaxGroup) {
/** @var Rule[] $swGroupRules */
$swGroupRules = array_combine(array_map(function (Rule $swTaxRule) {
return $swTaxRule->getCountry()->getIso();
}, $swTaxGroup->getRules()->toArray()), $swTaxGroup->getRules()->toArray());
$commonTaxRates[$swTaxGroup->getId()] = 0;
foreach ($jtlTaxRates as $jtlTaxRate) {
if (isset($swGroupRules[$jtlTaxRate->getCountryIso()]) && $swGroupRules[$jtlTaxRate->getCountryIso()]->getTax() === $jtlTaxRate->getRate()) {
$commonTaxRates[$swTaxGroup->getId()]++;
}
}
}
Wir hatten vor dem Update Probleme mit der Anbindung einer Kasse mit JTL-POS und haben dann vor dem Update die POS-Filiale ganz entfernt. Beim andern Mandanten, bei dem wir keine Versuche mit POS durgeführt haben, klappt auch nach dem Update alles ohne Probleme (die Shopware-Installationen befinden sich allerdings bei zwei verschiedenen Providern).
In der config.json habe ich "developer_logging": true, gesetzt, es wird aber nach wie vor nur ein global.log mit den gleichen Inhalten geschrieben.
-------
In der Zwischenzeit habe ich etwas in die JTL-Datenbank reingeschaut und da ist mir aufgefallen, dass der Mandant, der nicht funktioniert einen Eintrag in der Tabelle dbo.tShopSubshop hat:
Das hat mich einerseits stutzig gemacht, weil wir "Sunmi 1", das war der Name der POS-Filiale und POS-Kasse, schon vor dem Update gelöscht haben,
andererseits weil in dbo.tShop gar kein Eintrag mit kShop = 7 besteht:
Ich habe aber trotzdem Hemmungen, den Eintrag in dbo.tShopSubshop einfach zu löschen, da ich nicht weiß, ob andere Einträge davon abhängen und ob das überhaupt etwas mit unserem Problem zu tun hat.
Eigentlich bin ich auf der Suche danach, was der Connector machen möchte (welche Artikel zum Senden vorgemerkt sind usw.), bin aber bisher weder in der JTL-, noch in der Shopware-Datenbank fündig geworden.
Kann jemand weiterhelfen?
Grüße, Daniel
Zuletzt bearbeitet: