Gelöst Probleme mit Kategorien beim anbinden eines WooCommerce-Shop

Status
Es sind keine weiteren Antworten möglich.

j_d

Neues Mitglied
14. Dezember 2018
3
0
Heute war dann mal der Tag, an dem wir unsere Produkte von unserem WooCommerce- Shop in die JTL-Wawi importieren wollten. Und nicht nur, dass diese Wawi kein Unicode kann (und wahrscheinlich auch in näherer Zeit nicht unterstützen wird, weil Windows ihren Unicode-Support lobotomiert hat), und nicht nur, dass unsere Kategorienamen HTML-kodiert in der Datenbank gespeichert werden (ein SQL-Server ist keine HTML-Seite, und den Ampersand sollten die auch in ISO-8859-1 *gerade noch so unterstützen können*) - nein, jetzt werden auch noch nach den ersten sieben Kategorien Fehlermeldungen generiert.

Code:
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 '<Withheld>'.
Onlineshop-Abgleich beendet für '<Withheld>'.


Fehler:
Kategorien-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!

Fehler beim Kategorien-Abgleich: Der Shop sendet dauerhaft gleiche Daten. Um eine Endlosschleife zu verhindern, wird der Abgleich abgebrochen.

   bei jtlCore.ControllerClasses.Connector.Abgleich.Funktionen.ConnectorPuller.Pull[TEntity](Int64 quantity)
   bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.ConnectorPullTask`1.Run()
   bei JTL.Connector.Business.SyncRunner.Run()



Warnungen:
Abgleich darf nicht weiterlaufen.Abgleich darf nicht weiterlaufen.Abgleich darf nicht weiterlaufen.

Ja, ich kapier's, der Abgleich darf nicht weiterlaufen. Nur den Grund dafür weiß ich nicht.

Nur das " Log-Datei des Servers" stellt ein Problem da, denn - Wunder über Wunder - auch in dieser Kategorie (Pun intended) gibt's Probleme. Ich sitze hier an meiner root-Konsole, mit "developer_logging" auf true gesetzt, aber deswegen erstellt der mir doch keine Logs auf dem Server. An den Zugriffsrechten, wie auch hier mal in die Kristallkugel geraten wurde, liegt*s kaum, den ganzen verdammten Ordner habe ich dem Nutzer des Verzeichnisses und die Zugriffsrechte 777 (User, Group und Others dürfen alles).

Und weil das Server-Log nicht erstellt wird, kann ich auch nix von da verpacken und hochladen.

Die Version des Shops ist 3.4.4, Connector ist für WooCommerce 3.0, die Version des Connectors ist Version 1.6.3, Version der Wawi ist 1.3.20.0. Wenn die Server-Log so dringend gebraucht werden, muss man mir erstmal sagen, wie ich an die Logs kommen soll.
Zugriff auf die Wawi-Datenbank ist vorhanden über das SQL Server Management Studio, da kann ich auch sehen, dass die ersten sieben Kategorien importiert werden und er dann die Latschen aufstellt.

Ich bin kein Händler, sondern Anwendungsentwickler (nicht in PHP, sondern eher Low-Level). Zurückhalten mit Fachchinesisch braucht man nicht.
 

Anhänge

  • Connector-Abgleich-Debug 20181214 14-10-49.zip
    2,5 KB · Aufrufe: 7

Jan Weskamp

Moderator
Mitarbeiter
19. August 2015
346
35
Hallo,

Die Kategorien werden so aus dem Shop gezogen, wie diese dort hinterlegt sind. Der JTL-Connector modifiziert Deine Daten nicht.

<<< Category.statistic: {"result":{"available":7,"controllerName":"category"},"error":null,"jtlrpc":"2.0","id":"7c51362880014ae6bb9e2d94c163491d"}

An diesem Aufruf sieht man, das es nur 7 verfügbare Kategorien gibt, die auch übertragen wurden.

Nur das " Log-Datei des Servers" stellt ein Problem da, denn - Wunder über Wunder - auch in dieser Kategorie (Pun intended) gibt's Probleme. Ich sitze hier an meiner root-Konsole, mit "developer_logging" auf true gesetzt, aber deswegen erstellt der mir doch keine Logs auf dem Server. An den Zugriffsrechten, wie auch hier mal in die Kristallkugel geraten wurde, liegt*s kaum, den ganzen verdammten Ordner habe ich dem Nutzer des Verzeichnisses und die Zugriffsrechte 777 (User, Group und Others dürfen alles).

Und weil das Server-Log nicht erstellt wird, kann ich auch nix von da verpacken und hochladen.

Du schaust auch in den "logs" Ordner im "woo-jtl-connector" dir?

Die Vermutung, warum der Abgleich abbricht ist, dass beim ziehen des ersten Artikels ein Fehler mit dem Lagerbestand auftritt.

mfg

Jan W.
 

j_d

Neues Mitglied
14. Dezember 2018
3
0
Die Kategorien werden so aus dem Shop gezogen, wie diese dort hinterlegt sind.

Wenn das stimmt sollte, dann hat's bei WooCommerce den Knall noch nicht gehört. Denn soweit ich das beurteilen kann (anhand des HTML-Quelltextes), kodieren die unsere Umlaute eben *nicht* als HTML-Entities. Ich hoffe doch, die Wawi ist so gescheit, UTF-8-Daten in ISO-8859-1 umzuwandeln, wenn sie schon nicht HTML-Entities umkodiert? Denn soweit ich das sehe, kodiert WC ein "ü" nicht als ein "&uuml;", sondern als UTF-8 \xc3\xa4.

An diesem Aufruf sieht man, das es nur 7 verfügbare Kategorien gibt, die auch übertragen wurden.

Das halte ich für ein Gerücht. Im Interface werden mir 43 Kategorien angezeigt, und über die WooCommerce-API (https://<unsere Shop-Domain>/wp-json/wc/v2/products/categories?per_page=50) werden die mir auch angezeigt. Woher sich der Connector die 7 Kategorien holt, kann ich dir nicht sagen, aber was ich sagen kann, ist dass *deutlich* mehr Kategorien drin sind als was das Log behauptet - sowohl im Webinterface als auch über die API. Warum auch immer es das behauptet.

Du schaust auch in den "logs" Ordner im "woo-jtl-connector" dir?

Fast. Bei der Installation des Connectors mussten wir ein Plugin installieren, und darum hat der Admin sich gekümmert. In den Plugin-Einstellungen des Shops ist die URL auf "https://<unsere Shop-Domain>/index.php/jtlconnector/" festgestellt, ändern kann ich das auch nicht - zumindest nicht über das Web-Interface. Für den 3.0-Connector habe ich dann einfach "woo-jtl-connector" in "jtlconnector" umbenannt, weil ich mir dachte, dass die index.php die Anfrage an einen Dateisystempfad weiterleiten muss.

Ich habe jetzt mal "jtlconnector" in "woo-jtl-connector" umbenannt, nur um zu gucken, was passiert. Nix dramatisches. "https://<unsere Shop-Domain>/index.php/jtlconnector/" ist immer noch erreichbar, schmeißt immer noch mit JSON um sich, und die Wawi meint auch: "HTTP-Verbindung zum Webshop OK!". Aber uffer Konsole:

Code:
$ pwd
/home/<unser Nutzer>/public_html/woo-jtl-connector/logs
$ ls -lah
insgesamt 4,0K
drwxrwxrwx  2 <unser Nutzer> <unsere Gruppe>    6 14. Dez 08:58 .
drwxr-xr-x 11 <unser Nutzer> <unsere Gruppe> 4,0K 14. Dez 08:58 ..
$

So, I dunno what to tell ya.

Die Vermutung, warum der Abgleich abbricht ist, dass beim ziehen des ersten Artikels ein Fehler mit dem Lagerbestand auftritt.

Möglich. Wir hatten bereits in der Vergangenheit Probleme mit bestimmten Produkten - aber was für ein Fehler soll das sein, und warum gibt mir die Wawi nicht mehr Informationen als beinahe schon frenetisch auszugeben, dass der Abgleich nicht fortgesetzt werden darf?

EDIT:

Vergisst das mit den Logs. Ich habe gerade mal
Code:
# find / -name "woo-jtl-connector"
auf der Konsole ausgeführt. Stellt sich heraus, dass das Plugin, welches der Admin installiert hat, einen *eigenen* Ordner "woo-jtl-conncetor" mit sich bringt, der sich in "~/public_html/wp-content/plugins/" versteckt hat. Hatte mich schon gewundert, warum der Dienst nach der Umbenennung noch tat.

Kann ich die Logs per PM senden? Allein schon beim durchgreppen kann ich sehen, dass da sensitive Informationen drin sind.
 
Zuletzt bearbeitet:

Jan Weskamp

Moderator
Mitarbeiter
19. August 2015
346
35
Vergisst das mit den Logs. Ich habe gerade mal
Code:
# find / -name "woo-jtl-connector"
auf der Konsole ausgeführt. Stellt sich heraus, dass das Plugin, welches der Admin installiert hat, einen *eigenen* Ordner "woo-jtl-conncetor" mit sich bringt, der sich in "~/public_html/wp-content/plugins/" versteckt hat. Hatte mich schon gewundert, warum der Dienst nach der Umbenennung noch tat.

Kann ich die Logs per PM senden? Allein schon beim durchgreppen kann ich sehen, dass da sensitive Informationen drin sind.

Ich bitte darum diese privat zu senden =)
 

j_d

Neues Mitglied
14. Dezember 2018
3
0
Nein, Problem war *nicht* das WP-Rocket-Plugin. Dieses Plugin hat lediglich eine Warnung hervorgerufen, weil es temporäre Verzeichnisse für's Caching erstellt. Das Plugin versucht dabei erst, das unterste Verzeichnis durchzugehen, und wenn dies nicht klappt (weil ein oder mehrere Oberverzeichnisse nicht existieren), dann versucht der Code, das nächsthöhere Verzeichnis zu erstellen - bis es klappt. Danach wird die Verzeichnisliste umgekehrt durchgegangen und alle Unterverzeichnisse ordentlich erstellt.

Das Problem war, dass wir anscheinend mal eine Kategorie mit Unterkategorien im System hatten, die dann entfernt wurde. Diese Kategorien behielten ihre Elternkategorienummern bei, sodass der Connector versuchte, diese Elternkategorienummer ebenfalls aufzulösen. Da die Kategorie aber nicht mehr existierte, konnte er das nicht.

Wie es hierzu kommen konnte, wage ich nur zu vermuten, aber es könnte sein, dass die Kategorie zu einem Zeitpunkt entfernt worden ist, an dem der Server ausgelastet war. Das Löschen von Kategorien und Unterkategorien ist nicht atomisch, d.h. dass zwischen diesen Zeitpunken ("Kategorie löschen" und "Unterkategorie löschen") das Script wegen Timeouts beendet wurde. Da Wordpress als Datenbankengine MyISAM verwendet und somit keine Fremdschlüssel unterstützt, gibt es somit auch keine Kaskadenfunktion, die das Löschen der Unterkategorien atomisiert hätte.

Um derartige Kategorien zu finden, benötigt man direkten Zugriff auf die Datenbank. In der MySQL-Kommandozeile kann man sie dann mit diesem Befehl anzeigen lassen:
SQL:
SELECT tt.parent, tt.description, cl.*, tt.count
FROM `wp_terms` t
LEFT JOIN `wp_term_taxonomy` tt ON t.term_id = tt.term_id
LEFT JOIN `wp_jtl_connector_category_level` cl ON tt.term_id = cl.category_id
LEFT JOIN `wp_jtl_connector_link_category` l ON t.term_id = l.endpoint_id
WHERE tt.taxonomy = 'product_cat' AND l.host_id IS NULL
ORDER BY cl.level ASC, tt.parent ASC, cl.sort ASC;

In unserem Fall war es die Elternkategorienummer "699", die nicht mehr existierte, die die Unterkategorien aber immer noch drinhatten:

Code:
+--------+-------------+-------------+-------+------+-------+
| parent | description | category_id | level | sort | count |
+--------+-------------+-------------+-------+------+-------+
|    699 |             |        NULL |  NULL | NULL |     6 |
|    699 |             |        NULL |  NULL | NULL |     1 |
|    699 |             |        NULL |  NULL | NULL |     0 |
|    699 |             |        NULL |  NULL | NULL |     0 |
|    699 |             |        NULL |  NULL | NULL |     9 |
|    699 |             |        NULL |  NULL | NULL |     0 |
|    699 |             |        NULL |  NULL | NULL |     0 |
+--------+-------------+-------------+-------+------+-------+

Wir haben diese Kategorien dann einfach zu Topkategorien umgewandelt:

SQL:
UPDATE wp_term_taxonomy SET parent = 0 WHERE parent=699;

und danach den Abgleich nochmal gestartet. Das hat das Problem mit dem Kategorieimport gelößt - jetzt sind wir erstmal dabei, zu prüfen, ob der Rest des Imports auch ordentlich abgelaufen ist.
 
Status
Es sind keine weiteren Antworten möglich.
Ähnliche Themen
Titel Forum Antworten Datum
Probleme mit dem Einstellen von Artikeln auf Amazon über JTL Wawi mit dem Lister 2.0 Amazon-Lister - Fehler und Bugs 4
Neu Encoding-Probleme mit dem Proto-Template Templates für JTL-Shop 7
Neu PayPal Checkout Plugin (iPhone), Probleme mit PayPal-App Plugins für JTL-Shop 0
Neu Probleme beim Abgleich mit dem WooCommerce-Connector WooCommerce-Connector 0
Wir haben Probleme beim Abgleich mit Amazon Amazon-Anbindung - Fehler und Bugs 41
Neu Probleme mit der Email über jtl hosting (plesk) User helfen Usern 2
Neu Teilweise Probleme mit Kindartikel anlegen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Probleme mit Etikettendrucker User helfen Usern - Fragen zu JTL-Wawi 0
Nach Update auf 1.10.13.2 Probleme mit der POS Kasse JTL-Wawi 1.10 7
Probleme mit wawi, in der leiste wird kein onlineshop angezeigt JTL-Wawi 1.10 8
Neu JTL Shop 5 Probleme mit Anlegen eines Kundenaccounts Allgemeine Fragen zu JTL-Shop 4
Probleme mit Lagerbestandsübertragung bei Otto nach Artikelnummernänderung Otto.de - Anbindung (SCX) 0
Neu Massive Probleme mit JTL-Connector zu Shopify – lohnt sich der Einsatz überhaupt? Shopify-Connector 10
Neu Weiterleitungen Probleme Allgemeine Fragen zu JTL-Shop 2
Neu Aktuell hat PayPal Probleme BUG Korrektur Buchungen Allgemeine Fragen zu JTL-Shop 1
Neu Probleme bei Mediafinanz / CRIF Bonitätsprüfung Business Jungle 1
Neu IDeal macht irgendwie Probleme, bei euch auch ? Allgemeine Fragen zu JTL-Shop 0
Neu Betreff: CMD-Import überspringt Artikel bei Bestandsüberschreibung - Über den GUI-Import keine Probleme JTL-Ameise - Fehler und Bugs 2
Probleme beim Import von eBay-Produkten in JTL – neue Artikel werden nicht übernommen eBay-Anbindung - Fehler und Bugs 5
Probleme Rechnungserstellung/Upload FBA-Aufträge 1.10.12.0 JTL-Wawi 1.10 20
Neu Abgleich bricht mit Fehler 503 ab Shopware-Connector 0
Neu Neues PLugin: DITH Lieferantenbestand – realistische Lieferzeiten mit Lieferanten- + Eigenbestand Plugins für JTL-Shop 0
Rechnungen mit Differenzbesteuerung JTL-Wawi 1.9 0
Neu Etikett mit Warnung bei Versand drucken JTL-Workflows - Ideen, Lob und Kritik 9
1.11 mit 2 Mandanten - Dashboard bei Advanced Wawi zerschossen - JTL Start funktioniert JTL-Wawi 1.11 1
Was ist mit der Wawi 1.11.0? JTL-Wawi 1.11 20
Neu 👉 Erfahrungen mit KI? Wir suchen Kunden für eine Case Study! News, Events und Umfragen 0
Neu PC-Umzug mit Datenbanksicherung von JTL-Wawi 1.5.48 User helfen Usern - Fragen zu JTL-Wawi 5
Neu JTL Shop Update von 5.3.3 auf 5.6 mit der Community Free Edition - WaWi funktion weiter gegeben? User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL-Shop TECHNIK (SalePix) – Problem mit Render Blocking Requests User helfen Usern - Fragen zu JTL-Wawi 1
Neu Ladenpreis auf Etikett mit Bedingung verknüpfen User helfen Usern - Fragen zu JTL-Wawi 1
Neu Nach Update auf 1.10.14.1 - Zahlungsart wird beim Auftrag erstellen nicht mit übernommen + Sepa Eingänge JTL-Wawi - Fehler und Bugs 0
Neu Greyhound Erfahrungen mit Marktplätzen User helfen Usern - Fragen zu JTL-Wawi 2
Produkt-API v4 Support bei OTTO läuft aus (10.12.2025) – Zukunft mit JTL Wawi unklar Otto.de - Anbindung (SCX) 16
Neu Temu-Anbindung mit JTL / Fehlermeldung beim Hochladen Onlineshop-Anbindung 0
Neu Unzufriedenheit mit dem JTL-Support Smalltalk 28
Neu Stückzahl lässt sich mit [+] und [-] Buttons nicht ändern JTL-Shop - Fehler und Bugs 6
Beantwortet Slider nur noch mit Bild gefüllt Installation / Updates von JTL-Shop 1
Neu Mindestbestellwerte nach verschiedenen Lieferarten mit dem Plugin Lieferslot Allgemeine Fragen zu JTL-Shop 1
Neu Zahlungszuordnung Wawi Auftrag mit Barzahlung im Laden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Download-Artikel mit dem Download-Modul anbieten JTL SHOP Plugins für JTL-Shop 6
Neu Magento2 mit Synesty in JTL-Wawi verbinden Allgemeines zu den JTL-Connectoren 9
Neu Bonuspunkte sammeln mit JTL-Pos Allgemeine Fragen zu JTL-POS 0
Neu Abgleich WooCommerce / JTL mit dem Connector – Fehlermeldung WooCommerce-Connector 0
QRCode mit eigenem Feld in Druckvorlage füttern. JTL-Wawi 1.9 1
Neu Kunden mit Kundenkonto bestellen als Gast und Aufträge sind dann nicht im Konto sichtbar Allgemeine Fragen zu JTL-Shop 4
Vorlage mit Bedingung JTL-Wawi 1.9 2
Neu Die folgenden Dateien sind nicht identisch mit den Dateien der aktuellen Version von JTL-Shop. Allgemeine Fragen zu JTL-Shop 0
Artikel mit zwei Positionen JTL-Wawi 1.10 1
Neu Shopify Verkaufskanal inaktiv nach Anbindung mit Shopify App Shopify-Connector 4

Ähnliche Themen