DHL Geschäftskunden

Thema wurde von Maxim, 16. Oktober 2021 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. Juli 2019
    Beiträge:
    324
    Danke erhalten:
    49
    Danke vergeben:
    18
    Super, danke für die schnelle Notlösung!

    Zu Shipcloud noch:
    Das geht aber erst ab Tarif "Profesional" für 29€ im Monat. Es ist aber für solche Fälle hilfreich wenn man ein Shipcloud "Starter Paket" für 5 Euro im Monat hat, dann hat man eine Alternative zur Hand. Ich habe gestern meine DHL Labels fix mit Shipcloud erstellt, kostet zwar etwas mehr, aber dafür gehen sie heute morgen raus.
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    13. Mai 2019
    Beiträge:
    285
    Danke erhalten:
    68
    Danke vergeben:
    94
    Ich bin dann wohl einer von denen, wo das zu einem Fehler führt.

    Gibt es etwas, das ich meinem Hoster sagen kann? Irgendwie ist der Fehler jetzt ziemlich allgemein, weiß nicht was ich da weitergeben soll.
     
  3. andresperlich

    andresperlich Neues Mitglied

    Registriert seit:
    20. August 2011
    Beiträge:
    3
    Danke erhalten:
    0
    Danke vergeben:
    8
  4. BigRib

    BigRib Erfahrener Benutzer

    Registriert seit:
    26. September 2018
    Beiträge:
    165
    Danke erhalten:
    26
    Danke vergeben:
    15
    Ich habe Deine Änderung vorgenommen und habe bei mir einen Ordner Soap erstellt und die zwei xsd und die wsdl 2.2 eingefügt. (Habe noch Gambio 4.0)

    Bei mir kommt allerdings die Meldung:

    Laut php_info wird File aber unterstützt.

    upload_2021-10-18_8-46-16.png
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    13. Mai 2019
    Beiträge:
    285
    Danke erhalten:
    68
    Danke vergeben:
    94
    Ganz reudiger Quick Fix für Leute, bei denen der Fix von @Marco (Gambio) wie bei mir zu einem anderen Fehler führt:

    Die drei Dateien
    • geschaeftskundenversand-api-3.1.wsdl
    • geschaeftskundenversand-api-3.1-schema-cis_base.xsd
    • geschaeftskundenversand-api-3.1-schema-bcs_base.xsd
    aus GXMainComponents/Extensions/Geschaeftskundenversand/Soap einfach in einen anderen, öffentlich erreichbaren Ordner auf dem Server kopieren und dann in der GXMainComponents/Extensions/Geschaeftskundenversand/GeschaeftskundenversandConfigurationStorage.inc.php diesen Ordner verlinken:

    Code:
    'wsdl_url'  => 'https://dein-server.de/Soap/geschaeftskundenversand-api-3.1.wsdl',
    
    Damit können wir erstmal wieder weiterarbeiten. Vielen vielen Dank nochmal an Marco für die schnelle Reaktion! Ich komme heute morgen rein und finde schon eine Lösung, bevor ich richtig anfangen kann, mich über das Problem aufzuregen :-D.
     
  6. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.416
    Danke erhalten:
    1.580
    Danke vergeben:
    116
    Ja, das ist genau das Symptom, das ich meinte. Wenn man sich das genau ansieht, erkennt man auch, was da schief läuft: „file:/var/www/…“ ist kein valider URL, das müsste „file:///var/www/…“ heißen.

    Schwierig, leider. Ich hab bislang nicht rausfinden können, wo genau dieser Fehler entsteht. Das passiert irgendwo im Dunstkreis der SOAP-Extension für PHP, und/oder in der XML-Parser-Library, die diese Extension verwendet.
    Hintergrund ist, dass die SOAP-Extension von uns nur die lokale WSDL-Datei bekommt, und diese Datei referenziert zwei andere Dateien (die beiden *.xsd im gleichen Verzeichnis). Diese Referenz wird da irgendwie falsch aufgelöst, und dann hakt das auf diese Art.
     
  7. andresperlich

    andresperlich Neues Mitglied

    Registriert seit:
    20. August 2011
    Beiträge:
    3
    Danke erhalten:
    0
    Danke vergeben:
    8

    Ja was soll ich tun?
    Habe heute morgen ca. 350Bestellungen, habe nichts an den Einstellungen verändert und fühle mich plötzlich mit der Arbeit von Gambio im Stich gelassen...
    Lasst Euch schnell etwas einfallen, jede Minute kostet ein gefühltes Vermögen und meine Kunden. Habe keinerlei Änderungen am Shop vorgenommen und seit Samstag ist dieses Problem!!!
     
  8. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.416
    Danke erhalten:
    1.580
    Danke vergeben:
    116
    @BigRib Suche mal in GXMainComponents/Extensions/Geschaeftskundenversand/GeschaeftskundenversandSoapAdapter.inc.php diese Zeile (ca. Zeile 68):

    PHP:
            $this->pingWsdl($wsdlUrl);
    und ändere sie auf
    PHP:
            //$this->pingWsdl($wsdlUrl);
    Das ist nötig bei Shopsystemversionen, die nicht auf die Verwendung einer lokalen WSDL ausgerichtet sind.
     
  9. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.416
    Danke erhalten:
    1.580
    Danke vergeben:
    116
  10. andresperlich

    andresperlich Neues Mitglied

    Registriert seit:
    20. August 2011
    Beiträge:
    3
    Danke erhalten:
    0
    Danke vergeben:
    8
    Alles Gut gemeint, habe doch davon keine Ahnung!!! Ich will nur einen funktionierenden Shop kotz/grins
     
  11. Dominikus

    Dominikus Mitglied

    Registriert seit:
    8. Februar 2019
    Beiträge:
    6
    Danke erhalten:
    0
    Danke vergeben:
    1
    Bei mir hat der Beitrag #39 funktioniert
     
  12. Anonymous

    Anonymous Neues Mitglied

    Registriert seit:
    31. Juli 2018
    Beiträge:
    2
    Danke erhalten:
    1
    Danke vergeben:
    2
    Bei uns geht es wieder ohne Änderungen!
     
  13. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.416
    Danke erhalten:
    1.580
    Danke vergeben:
    116
    DHL scheint just in diesen Minuten die Verfügbarkeit der WSDL-Ressource wiederhergestellt zu haben. Die Notlösung aus #39 ist also nicht mehr nötig; wer das eingebaut hat, sollte also idealerweise den Urzustand wieder herstellen.
     
  14. Wilken (Gambio)

    Wilken (Gambio) Administrator
    Mitarbeiter

    Registriert seit:
    7. November 2012
    Beiträge:
    17.849
    Danke erhalten:
    6.801
    Danke vergeben:
    2.060
    Nur sicherheitshalber: DHL hat dich im Stich gelassen, nicht wir.

    Und die haben das nicht als willentliche Aktion gemacht, denen ist was missraten.

    Das müsstest du dann auch dem Verursacher sagen.

    Wirklich dringende Empfehlung.
     
  15. damian_prudlik

    damian_prudlik Erfahrener Benutzer

    Registriert seit:
    8. Juni 2019
    Beiträge:
    55
    Danke erhalten:
    8
    Danke vergeben:
    28
    Vielen Dank an das Gambio Team, das trotz eines Fehler von DHL, hier im Forum stets bemüht ist eine Lösung zu finden und mit Rat und Tat zu Seite steht, was nicht immer einfach ist. Vielen Dank dafür und allen einen ruhigen und entspannten Wochenstart.

    Liebe Grüße

    Damian
     
  16. Schützer

    Schützer Erfahrener Benutzer

    Registriert seit:
    15. März 2017
    Beiträge:
    351
    Danke erhalten:
    29
    Danke vergeben:
    132
    Ab sofort geht das wieder ! Vor 10 min hat nicht Funktioniert jetzt aber schon!

    Danke an wem auch immer !
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    15. September 2011
    Beiträge:
    117
    Danke erhalten:
    14
    Danke vergeben:
    38
    Danke an gambio!

    läuft bei mir wieder ohne Änderung.
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    18. Juli 2019
    Beiträge:
    324
    Danke erhalten:
    49
    Danke vergeben:
    18
    Nicht mal 21 Stunden bis zur Lösung, vielen Dank für die schnelle Reaktion :)
     
  19. kugelschubs2

    kugelschubs2 Erfahrener Benutzer

    Registriert seit:
    2. Oktober 2017
    Beiträge:
    86
    Danke erhalten:
    21
    Danke vergeben:
    27
    #59 kugelschubs2, 18. Oktober 2021
    Zuletzt bearbeitet: 18. Oktober 2021
    @Marco (Gambio)

    Mal als Idee für die Zukunft:
    Man könnte es doch so programmieren das, falls mal die Serverversion (DHL Server)
    der wsdl ausfällt, automatisch auf die lokalen (lokaler Server) Dateien zugegriffen wird.

    Laut DHL Entwickler Portal ist seitens DHL eh nur eine einmalige Abfrage der Serverversion gewünscht zwecks
    Performance. Und die wsdl Dateien in einen nicht geschützten Ordner legen weit oben in der Ordnerhierarchie (damit die Parse-Errors bei manchen nicht erscheinen).

    Wäre simpel umsetzbar ....
    und ausfallsicherer....
    Wäre für Eure Cloud sicher auch nicht verkehrt --- und uns andere Kunden.

    So in etwa, natürlich mit mehr Cases für mehr Eventualitäten:
    PHP:
    if(http_response_code(404)) {
        
    'wsdl_url' => sprintf('file://' __DIR__ '/Soap/geschaeftskundenversand-api-%s.wsdl'$version),
    }
    else {
        
    'wsdl_url' => 'https://cig.dhl.de/cig-wsdls/com/dpdhl/wsdl/geschaeftskundenversand-api/3.1/geschaeftskundenversand-api-3.1.wsdl',
    }
    LG
    Peter
     
  20. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.416
    Danke erhalten:
    1.580
    Danke vergeben:
    116
    @kugelschubs2 Das ist im Ansatz eine hübsche Idee, aber müßig, wenn man es etwas weiter denkt. Dass der WSDL-Abruf ausfällt, während der dahinter liegende Webservice dennoch aufrufbar bleibt, ist extrem selten. Meistens ist es doch eher umgekehrt, wie die Erfahrung zeigt. Für das fallweise Fangen solcher Fälle irgendeine Dynamik da einzubauen, halte ich insofern nicht für zielführend. Wie wir generell zukünftig mit dem Abruf umgehen, müssen wir noch mit DHL klären.

    Ich persönlich halte wenig davon, die WSDL bei SOAP-Schnittstellen im Shop mitzuschleppen, weil dann das Risiko besteht, dass die Schnittstellenbeschreibung im Shop nicht mehr zu der beim Dienstleister passt, das führt dann zu ganz neuen, fiesen Problemen. Die WSDL selbst ist an sich eine statische Ressource, die sich normalerweise nur selten ändert und die insofern bei einer öffentlich zugänglichen Schnittstelle auch nicht vom Application Server ausgeliefert werden muss, sondern von einem separaten, ressourcenschonenderen Server.