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
Neu Probleme mit Artikel Abgleich Shopware-Connector 2
Neu Probleme mit EAN als Barcode bei Varkombis Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Nach Umstellung auf WMS Probleme mit der JTL Ameise Installation von JTL-WMS / JTL-Packtisch+ 0
Neu Probleme mit Artikelzustand bei Ebay Laufene Artikel ändern Einrichtung und Installation von JTL-eazyAuction 4
Neu Probleme mit dem Divi Theme WooCommerce-Connector 5
Neu Shop Suchfunktion Probleme mit (HTML-)Sonderzeichen JTL-Shop - Fehler und Bugs 0
Neu Probleme mit Swatches Allgemeine Fragen zu JTL-Shop 7
Neu Probleme mit 2FA O365 JTL-Wawi - Fehler und Bugs 1
Neu Probleme bei Webmaster Tool mit Produkt wegen Price Betrieb / Pflege von JTL-Shop 0
Probleme mit Gewichten bei Sendungen in Nicht-EU Länder JTL-Wawi 1.7 0
Gelöst GLS Probleme beim Erstellen von Versandetiketten Gelöste Themen in diesem Bereich 1
Neu Probleme bei Aufgabenplaner (Export-Manger) per Cronjob JTL-Shop - Fehler und Bugs 1
Neu Mandantenabgleich (2 Firmen) 1.5xx zu 1.8 wir haben Probleme. Visitmedia ( Victor Mandantenabgleich ) User helfen Usern - Fragen zu JTL-Wawi 5
JTL-Wawi API: Probleme bei Authorization JTL-Wawi 1.8 3
Neu Googlesuche Treffer mit falschen Angaben. Allgemeine Fragen zu JTL-Shop 5
Barcodescanner Fehler mit ein "U" am Ende JTL-Wawi 1.8 0
Neu mit FBM für Ausland User helfen Usern - Fragen zu JTL-Wawi 2
Ausgabe des Warenbestandes mit Fulfillment Lager JTL-Wawi 1.8 0
Neu Variations Artikel mit Kindern automatisch Stücklisten zuweisen Arbeitsabläufe in JTL-Wawi 4
Neu Artikel von JTL mit Ebay verbinden in Easy Action Einrichtung und Installation von JTL-eazyAuction 2
Neu Erreichbarkeit von Seiten mit 0 Bestand in 5.3.1 JTL-Shop - Fehler und Bugs 2
Kaufland Umzug Unicorn nach SCX mit eigenen Produkten - HowTo? kaufland.de - Anbindung (SCX) 1
Neu Export Gesamtpreis für Artikel mit Mindestabnahme Allgemeine Fragen zu JTL-Shop 0
Neu Lieferantenbestellung mit Bild User helfen Usern - Fragen zu JTL-Wawi 2
Neu Fehlermeldung "Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt" JTL-Wawi - Fehler und Bugs 2
Einlagerungsliste mit Lagerposition bzw. Feld "Kommentar1" JTL-Wawi 1.8 0
Neu Migration Shopware 5 auf 6 mit JTL-Wawi ohne Datenverlust Shopware-Connector 1
[JTL-WAWI API] Bestellung mit Stücklistenartikel JTL-Wawi 1.8 5
Neu Stücklisten mit puffer Bezug von anderen Artikeln User helfen Usern - Fragen zu JTL-Wawi 1
Wichtig Beta Connector für Presta 8 mit PHP 8+ PrestaShop-Connector 35
Artikelstatistik mit Umlagerungen JTL-Wawi 1.8 0
Neu CSV Auftrag mit Artikeldaten (GTIN, Beschreibung, etc.) exportieren Arbeitsabläufe in JTL-Wawi 1
Neu PrestaShop Connector für Prestashop 8 mit PHP 8.2 wird nicht unterstützt PrestaShop-Connector 3
Neu Packtisch: In der Liste der Aufträge neue Feld-Spalte mit Spalteneditor hinzufügen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Wechsel WAWI Hosting von JTL mit RDP auf ecomDATA User helfen Usern - Fragen zu JTL-Wawi 2
Neu Eigene Seiten mit Plugin erstellen Technische Fragen zu Plugins und Templates 1
Neu Alles Artikel "unverkäuftlich" mit Urlaubshinweis JTL-Ameise - Ideen, Lob und Kritik 4
Wo befindet sich das Feld mit der Information für "Zustandsbeschreibung" auf Ebay? JTL-Wawi 1.8 9
Neu Ärger mit WMS mobile - Scan bestätigt nicht zuverlässig die Eingabe Gelöste Themen - JTL-WMS / JTL-Packtisch+ 4
Neu 2x SumUp als Zahlungsmethode mit 2x verschiedenen SumUp Accounts aber 1x Kartenlesegerät? Allgemeine Fragen zu JTL-POS 0
Neu Service-Bestellungen / Dienstleistungen mit WMS abbilden Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Auftrag mit Freiposition Menge 0 läßt sich nicht ausliefern + wird nicht auf Lieferschein angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
In Bearbeitung POS verbindet nicht mit SumUp Air Allgemeine Fragen zu JTL-POS 3
Auktionen mit Anpassungsfunktion Amazon-Anbindung - Ideen, Lob und Kritik 0
Neu Videoeinbindung mit OnePage Composer Technische Fragen zu Plugins und Templates 1
Neu Zahlungsziel mit Skonto im Auftrag ausweisen Gelöste Themen in diesem Bereich 4
Neu Hilfe - Performanceproblem mit Shop durch Worker JTL-Shop - Fehler und Bugs 28
Neu JTL Wawi Bild-Upload unvollständig oder nur als mit meinem PC hochgeladen zu sehen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Anleitung: Artikeletiketten für Auftrag, Rechnung, Lieferschein etc. drucken mit Etikettenanzahl = Artikelanzahl User helfen Usern - Fragen zu JTL-Wawi 0
Neu Amazon + Multishop mit evtl 2 Mandanten Starten mit JTL: Projektabwicklung & Migration 3

Ähnliche Themen