Shopware-Schnittstelle OS, PHP7+ und AES

Alles zu den Themen Shopware, Magento, OpenCart, Gambio und und und
Florian
Beiträge: 0
Registriert: Mo 15. Mai 2017, 17:05

Shopware-Schnittstelle OS, PHP7+ und AES

Beitragvon Florian » Mo 18. Jun 2018, 14:26

Hallo zusammen,

ich habe mich nun auch noch einmal mit der Anbindung von Shopware (5.4.5 OS) an WaWision (18.1 EP) unter Verwendung der kostenfreien Shopware-Schnittstelle auseinandergesetzt und war dabei zunächst auch auf Probleme gestoßen, die bereits in zwei weiteren Themen diskutiert wurden (Wawision OpenSource und Shopware und Shopware Plugin). Um meine Erkenntnisse nicht in beiden Themen zu veröffentlichen, gibt es dieses zusätzliches Thema.

Zunächst hatte ich die Schnittstelle gemäß den diversen Beschreibungen im Handbuch (Online-Shop-Anbindung: Einstellungen, Shopware Schnittstelle - Installation & Einrichtung und in der Beschreibung vom Shopware-Plugin versucht zum Laufen zu bekommen, leider immer mit der Fehlermeldung "Verbindungsproblem: Eventuell falsche Schlüssel! ()".

Dann habe ich mich bei der Variante "Installation auf dem Server (für Techniker)" auf die Fehlersuche gemacht und herausgefunden, dass es offensichtlich ein Problem mit der AES-Verschlüsselungsklasse "class.aes.php" in Verbindung mit PHP7+ gibt. Wird eine Zeichenkette verschlüsselt und wieder entschlüsselt, bekommt man nicht die ursprüngliche Zeichenkette zurück. Aktualisiert man diese mit der aktuellsten Version der Klasse in einer wie folgt für WaWision leicht angepassten Variante, läuft die Ver- und Entschlüsselung wieder ohne Probleme und damit auch die Kommunikation der Schnittstelle.

Abhängig von der im Handbuch beschriebenen Konfigurationsweise der Schnittstelle, müssen zwei Dateien wie folgt aktualisiert werden.
  1. Aktuelle PHPAES-Klasse herunterladen und entpacken.
  2. Die entpackte Datei "./src/Aes.php" nach "./src/class.aes.php" umbenennen und die ersten 8 Zeilen in der Datei durch folgenden Code ersetzten:

    Code: Alles auswählen

    <?php
    // namespace PhpAes;
    
    /**
     *  AES cipher
     *
     */
    class AES
  3. Abhängig von der im Handbuch beschriebenen Konfigurationsweise der Schnittstelle folgende Dateien durch die zuvor angepasste "./src/class.aes.php" ersetzten:
    1. Installation über Shopware (Standardplugin ab Shopware 5)
      Datei "./www/lib/class.aes.php" der WaWision-Installation und Datei "./engine/Shopware/Plugins/Community/Frontend/WaWisionImporter/Controllers/Frontend/class.aes.php" der Shopware-Installation.
    2. Installation auf dem Server (für Techniker)
      Datei "./www/lib/class.aes.php" der WaWision-Installation und Datei "./www/shopwareimporter/lib/class.aes.php" des WaWision-Importers (Pfad entspricht hier der Vorgabe aus dem Handbuch, muss ggf. dem individuellen Speicherort angepasst werden).
Zudem ist es zumindest bei der nicht Kaufversion der Shopware-Schnittstelle ungemein wichtig, folgendes bei der Konfiguration der Online-Shop-Anbindung in WaWision zu berücksichtigen:
  1. Installation über Shopware (Standardplugin ab Shopware 5)
    "Shopware Plugin" oder "shopware plugin" muss zwingend in der Bezeichnung vorkommen.
  2. Installation auf dem Server (für Techniker)
    "Shopware Plugin" oder "shopware plugin" darf unter keinen Umständen in der Bezeichnung vorkommen.
Des weiteren gilt zu beachten, dass diese Anpassungen nach einem Update von WaWision oder des WaWision-Plugins in Shopware leider wieder verloren gehen und erneut durchgeführt werden müssen, solange das nicht in die offizielle WaWision-Veröffentlichung mit einfließt oder es dort eine andere Anpassung gibt, die Abhilfe schafft.

Liebe Grüße und viel Erfolg

Florian

Florian
Beiträge: 0
Registriert: Mo 15. Mai 2017, 17:05

Re: Shopware-Schnittstelle OS, PHP7+ und AES

Beitragvon Florian » Mo 18. Jun 2018, 16:26

Florian hat geschrieben:
Mo 18. Jun 2018, 14:26
Zudem ist es zumindest bei der nicht Kaufversion der Shopware-Schnittstelle ungemein wichtig, folgendes bei der Konfiguration der Online-Shop-Anbindung in WaWision zu berücksichtigen:
  1. Installation über Shopware (Standardplugin ab Shopware 5)
    "Shopware Plugin" oder "shopware plugin" muss zwingend in der Bezeichnung vorkommen.
  2. Installation auf dem Server (für Techniker)
    "Shopware Plugin" oder "shopware plugin" darf unter keinen Umständen in der Bezeichnung vorkommen.
Ergänzend dazu noch wichtig zu beachten für die Einstellung URL im Bereich "Zugangsdaten für WaWision Import Plugin":
  1. Installation über Shopware (Standardplugin ab Shopware 5)
    URL muss direkt auf die Shopware-Installation verweisen ohne "api/", also z.B. "https://www.domain.de/" oder "https://www.domain.de/shop/" etc. Das WaWision Import Plugin kommuniziert mit dem Wawision Shopware Plugin über einen Frontend-Controller, nicht über die REST-API direkt.
  2. Installation auf dem Server (für Techniker)
    URL muss auf den Shopwareimporter zeigen, also gemäß dem Handbuch und der Konfiguration im Beitrag zuvor z.B. auf "https://www.domain.de/wawision/www/shopwareimporter/" oder wo auch immer der Shopwareimporter abgelegt wurde. Innerhalb der "user.inc.php" des Shopwareimporter muss die "ImportShopwareApiUrl" auf die Shopware REST-API zeigen z.B. "https://www.domain.de/api" oder "https://www.domain.de/shop/api".