Neu JTL-Wawi 2.1.1 – CloudConnected Wawi-API nicht erreichbar / CloudTunnelService „Key: osVersion“

NikuTRAX

Aktives Mitglied
13. Juli 2023
29
18
Hallo zusammen,

seit dem Update auf JTL-Wawi 2.1.1 ist bei uns die Cloud-Verbindung grundsätzlich hergestellt:

  • Status: Verbunden
  • API Gateway: Erreichbar
  • Tunnel Dienst: Erreichbar
  • Zentral Login: Erreichbar
  • Wawi-API: Nicht erreichbar
Die Wawi-API läuft als Windows-Dienst mit:

--cloudConnected --database Mandant_1
EventBus HostMode/TenantMode sowie ServiceBridge laufen ebenfalls.

Die Wawi-API meldet dauerhaft:

Opening cloud tunnel failed. Retrying in 5 seconds.
Im Debug-/Konsolenmodus erscheint aktuell:

System.ArgumentException:
An item with the same key has already been added.
Key: osVersion
Stacktrace u. a.:

JTL.Wawi.CloudConnected.Core.ApplicationServices.Tunnel.CloudTunnelService.ModifyConfig(...)
JTL.Wawi.CloudConnected.Core.ApplicationServices.Tunnel.CloudTunnelService.CreateTunnelAsync(...)
JTL-Wawi 2.1.1 wurde bereits repariert/überinstalliert und die Cloud-Verbindung anschließend neu hergestellt. Frühere DLL-/Runtime-Fehler sind seitdem verschwunden.

Trotzdem bleibt die Wawi-API auf „Nicht erreichbar“ und der Cloud-Tunnel kann wegen Key: osVersion nicht geöffnet werden.

Hat jemand diesen Fehler unter 2.1.1 ebenfalls oder ist das bereits als Bug bekannt?

Viele Grüße
 

Anhänge

  • JTL_Wawi_API_osVersion_forum_redacted.png
    JTL_Wawi_API_osVersion_forum_redacted.png
    61,9 KB · Aufrufe: 21
  • Gefällt mir
Reaktionen: IngoS

NikuTRAX

Aktives Mitglied
13. Juli 2023
29
18
Update / Ursache geklärt

Laut JTL-Support ist der Fehler

„An item with the same key has already been added. Key: osVersion“

beim Aufbau des Cloud-Tunnels ein bekannter Bug in JTL-Wawi 2.1.1.

Der Fehler soll mit JTL-Wawi 2.1.2 behoben werden. Für diese Version gibt es aktuell jedoch noch keinen verbindlichen Veröffentlichungstermin. Eine Reparatur oder Überinstallation von 2.1.1 hilft nicht.

Gleichzeitig treibt JTL die Umstellung auf Shipping 2.0 voran. Ein wesentlicher Stichtag hierfür ist der 30.09.2026.

Für uns ist daher problematisch, dass die Umstellung auf Shipping 2.0 verlangt bzw. forciert wird, während aktuell die dafür benötigte Wawi-API bzw. der Cloud-Tunnel aufgrund eines bekannten Fehlers nicht funktioniert.

Sollte ein solcher Fehler künftig erneut auftreten, könnten wir über JTL unter Umständen keine Versandlabels mehr erstellen oder ausdrucken. Als Notlösung bliebe dann nur die manuelle Erstellung, z. B. über das DHL-Geschäftskundenportal.

Gerade bei einer verpflichtenden bzw. zentralen Nutzung von Shipping 2.0 stellt sich für uns daher die Frage nach der Betriebssicherheit und einer zuverlässigen Ausfalllösung.

Aktuell bleibt uns nur, auf JTL-Wawi 2.1.2 oder neuer zu warten und anschließend die Umstellung auf Shipping 2.0 erneut zu testen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: IngoS

Robin

Sehr aktives Mitglied
22. August 2014
171
43
Gleichfalls, habe heute von der 1.11.7 auf die aktuellste 2.1.1 geupdated und bekomme den Cloud-Tunnel nicht zum laufen.

"Opening cloud tunnel failed. Retrying in 5 seconds."
 

Anhänge

  • Screenshot 2026-09-24 1648451.png
    Screenshot 2026-09-24 1648451.png
    33,8 KB · Aufrufe: 13
  • Gefällt mir
Reaktionen: IngoS

IngoS

Aktives Mitglied
28. Dezember 2022
3
1
Die Einrichtung der Shipping 2.0 Lösung ist absolut unausgereift. Die Dienste laufen mit dem falschen Benutzer, so dass die Datenbankprofile gar nicht aufgerufen werden können. Welcher Normalanwender soll das lösen? Die Anbindung funktioniert mal, dann funktioniert sie wieder nicht. Ich versuche die Shipping 2.0 App schon länger zu installieren. Im Hub ist Sie installiert und durchkonfiguriert aber die App lässt sich nicht mit JTL verbinden, da der Assistent immer nur meldet "Shipping 2.0 nicht konfiguriert". Zudem bekommt man während der Einrichtung Warnungen, dass alles nur in der Pilot und Betaphase ist.

Eine Umstellung zum 30.09.2026 ist ja wohl völlig utopisch und das Ganze derzeit produktiv zu nutzen sowieso. Wer bitte ist für die Deadline 30.09.2026 verantwortlich? Denjenigen sollte man vielleicht mal hierzu briefen und das ganze schnell und klar kommunizieren, so dass hierzu eine Korrektur erfolgt.
 

joebill

Aktives Mitglied
3. November 2015
63
8
Wir haben das genau gleiche Problem. Warum reagiert seitens JTL niemand, das Nicht-Versenden-Können von Waren macht die ganze WAWI obsolet!
 

NikuTRAX

Aktives Mitglied
13. Juli 2023
29
18
Kleines Update von meiner Seite:

Da die Probleme mit Cloud-Tunnel / Wawi-API / Shipping 2.0 offenbar nicht nur uns betreffen, habe ich für DHL inzwischen einen alternativen Versandweg umgesetzt, der komplett ohne die CloudConnected-Wawi-API und ohne Shipping 2.0 funktioniert.

Grundprinzip​

JTL-Wawi → Versanddatenexport CSV → lokaler DHL-Worker → DHL Parcel DE Shipping API → PDF-Label + Trackingnummer → Tracking-CSV zurück zu JTL

Optional läuft auf dem Versand-PC noch ein kleiner Print-Agent, der neue DHL-PDF-Labels automatisch auf dem eingerichteten Etikettendrucker ausgibt.

Damit bleibt JTL weiterhin führend für Lieferschein, Paket-ID, Versandart und Trackingnummer. Lediglich die eigentliche DHL-Labelerstellung läuft außerhalb von Shipping 2.0 direkt über die offizielle DHL-API.

Aktuell umgesetzt sind:

  • DHL Paket DE
  • DHL Kleinpaket
  • DHL Paket International innerhalb der EU
  • automatischer PDF-Labelabruf
  • automatische Erzeugung der Tracking-CSV für JTL
  • optionaler automatischer Labeldruck auf einem Client-PC
  • Doppelbuchungsschutz über die JTL-Paket-ID
  • Fehlerordner und Logging
  • Production-Dry-Run vor dem ersten Echtversand
  • Production standardmäßig gesperrt und erst nach erfolgreichem Test freischaltbar
  • Autostart für Server-Worker und Client-Print-Agent
Nicht-EU-Sendungen habe ich bewusst nicht automatisiert, weil dort zusätzliche Zoll- und Exportdaten berücksichtigt werden müssen.

Das Ganze basiert auf dem klassischen Versanddatenexport/-import von JTL-Wawi. Es wird also keine JTL REST API benötigt und damit auch kein funktionierender Cloud-Tunnel.

Der Worker kommuniziert für die Labelerstellung direkt mit der offiziellen DHL Parcel DE Shipping / Paket DE Versenden API V2. Damit besteht für diesen DHL-Versandweg technisch keine Abhängigkeit mehr von JTL Shipping 2.0 oder dessen Cloud-Anbindung.

Vermutlich verwendet auch JTL im Hintergrund entsprechende aktuelle DHL-Schnittstellen. Welche konkrete DHL-API bzw. API-Version JTL innerhalb von Shipping 2.0 verwendet, ist öffentlich allerdings nicht eindeutig dokumentiert. Deshalb möchte ich das nicht als gesicherte Aussage darstellen.

Der entscheidende Punkt ist:

JTL liefert in dieser Lösung die Versanddaten, die eigentliche DHL-Buchung erfolgt direkt zwischen dem lokalen Worker und DHL. Anschließend erzeugt der Worker eine JTL-kompatible Trackingdatei.

Hinweis zum Tracking-Rückimport in JTL-Wawi​

Hier gibt es bei meinem Aufbau noch eine Besonderheit:

In Versand → Versanddatenaustausch sind sowohl Export als auch Import mit „Automatischer Abgleich aktiv“ eingerichtet.

Der Export funktioniert bei mir damit wie vorgesehen automatisch.

Beim Tracking-Rückimport verhält sich meine reine JTL-Wawi-Installation allerdings anders:

Der DHL-Worker erzeugt die Trackingdatei automatisch und legt sie korrekt im konfigurierten Importordner ab. Trotz aktiviertem „Automatischer Abgleich“ wird diese Datei bei mir jedoch nicht selbstständig in JTL-Wawi eingelesen.

Der letzte Schritt erfolgt deshalb aktuell über:

Versand → Lieferscheine → Versanddaten importieren

Dort wird die Importvorlage verwendet bzw. die vom Worker erzeugte Tracking-CSV eingelesen und mit OK bestätigt.

Anschließend wird die DHL-Sendungsnummer korrekt dem Paket bzw. Lieferschein zugeordnet.

Das ist kein Problem des DHL-Workers: Die erzeugten Trackingdateien liegen korrekt im Importordner und lassen sich manuell zuverlässig in JTL importieren.

JTL beschreibt einen im Hintergrund laufenden automatischen Sendungsdaten-Importservice insbesondere im Zusammenhang mit JTL-WMS. Wer WMS bzw. eine entsprechende Lagerlösung einsetzt, kann daher möglicherweise auch diesen letzten Schritt vollständig automatisieren.

Ich selbst nutze aktuell weder JTL-WMS noch JTL-Packtisch+. Deshalb möchte ich nicht behaupten, dass der automatische Trackingimport in jeder reinen Wawi-Installation funktioniert.

Der tatsächliche Ablauf bei mir ist momentan:

JTL ausliefern → Export-CSV wird erzeugt → DHL-Worker erstellt automatisch das DHL-Label → Label wird automatisch am Versand-PC gedruckt → Tracking-CSV wird automatisch erzeugt → einmal in JTL „Versanddaten importieren“ → Trackingnummer steht am Paket/Lieferschein.

Bis auf diesen letzten JTL-Import läuft der Versandprozess vollständig automatisch.

Für die eigentliche DHL-Buchung ist man damit technisch nicht mehr darauf angewiesen, dass Shipping 2.0, der JTL-Cloud-Tunnel oder die CloudConnected-Wawi-API verfügbar sind. Eventuelle lizenz- oder vertragsseitige Vorgaben von JTL bleiben davon natürlich unberührt.

Ich habe das Ganze neutralisiert und dokumentiert, damit andere es ebenfalls testen können. Im ZIP sind keine DHL-Zugangsdaten, keine Abrechnungsnummern und keine firmenspezifischen Daten enthalten.

Angehängt​

1. JTL-DHL-Komplettpaket-neutral-v1.0.zip

Enthält Server-Worker, Client-Print-Agent, Beispielkonfigurationen und Einrichtungsdateien.

2. JTL-DHL-Versandautomatisierung_Anleitung_neutral.pdf

Komplette Schritt-für-Schritt-Anleitung für JTL, DHL Developer Portal, Worker, Tracking-Rückimport und automatischen Labeldruck.

Wichtig:

Das ist keine offizielle JTL-Lösung, sondern ein von mir eingerichteter Community-Workaround. Wer ihn nutzt, sollte unbedingt zuerst Sandbox bzw. Production-Validierung verwenden und erst danach einen einzelnen kontrollierten Echtversand durchführen.

Kleines Update / Patch v1.1​

Für bestehende Installationen gibt es zusätzlich einen kleinen Patch für den DHL-Worker.

Bisher wurden die Trackingdateien beispielsweise so benannt:

tracking_P3164_20260929_125426595.csv

Da man anhand der internen PaketRef nicht immer sofort erkennt, zu welchem Lieferschein die Datei gehört, enthält der Dateiname jetzt zusätzlich die Lieferscheinnummer:

tracking_4931-001_P3164_20260929_125426595.csv

Damit ist direkt sichtbar:

Lieferschein 4931-001 → PaketRef P3164

Am JTL-Import selbst ändert sich nichts. Der Inhalt der CSV bleibt unverändert und die bestehende Tracking-Importvorlage muss nicht angepasst werden.

Für bestehende Installationen reicht es aus, den Worker zu beenden, die Datei JTL-DHL-Worker.ps1 durch die Version aus dem Patch zu ersetzen und den Worker anschließend wieder zu starten.

Zusätzlicher Anhang:

JTL-DHL-Worker-Patch-v1.1-ReadableTrackingName.zip
 

Anhänge

Zuletzt bearbeitet:

joebill

Aktives Mitglied
3. November 2015
63
8
Wow, wenn das funktioniert, Chapeau - ich werde das mal testen. Vielen Dank für die Mühe.
 

NikuTRAX

Aktives Mitglied
13. Juli 2023
29
18
Update 29.09.2026: DHL-Retouren funktionieren inzwischen ebenfalls.

Ich habe die Lösung inzwischen um die aktuelle DHL Paket DE Retoure API erweitert.

Damit läuft jetzt auch die Retoure unabhängig von JTL Shipping 2.0 und ohne CloudConnected-Wawi-API bzw. JTL REST API.

Der Ablauf ist:

JTL-Retoure → CSV-Exportvorlage → lokaler Server-Worker → DHL Paket DE Retoure API → PDF-Retourenlabel + QR-Code + Sendungsnummer → Übergabe an Client-Agent → Sendungsnummer zurück in die JTL-Retoure

Der Server-Worker kommuniziert dabei direkt mit der offiziellen DHL-Retouren-API über OAuth2.

Die bei DHL hinterlegte receiverId wird vorher über /locations geprüft. Für ein echtes Retourenlabel muss der Receiver-ID eine gültige DHL-Abrechnungsnummer zugeordnet sein.

Nach erfolgreicher Buchung erzeugt der Worker:

  • das PDF-Retourenlabel
  • den QR-Code
  • die DHL-Sendungsnummer
  • die RET-Retouren-ID
  • eine Übergabedatei für den JTL-Client
  • einen Doppelbuchungsschutz anhand der JTL-Retourennummer
Für den Rückweg nach JTL wollte ich bewusst nicht direkt in die JTL-Datenbank schreiben.

JTL bietet bei extern vorhandenen Retourenlabels bereits den Dialog:

„Bestehendes Retourenetikett eintragen“

Dort werden Versandart, Tracking-ID und Datum eingetragen.

Diesen bestehenden JTL-Dialog bedient ein kleiner Client-Agent über Windows UI Automation. Er prüft dabei zuerst, ob wirklich die zur Übergabedatei passende Retoure geöffnet ist.

Erst dann werden automatisch:

Versandart → DHL Retoure
Sendungsnummer → DHL Tracking-ID


eingetragen und der Dialog bestätigt.

Damit gibt es weiterhin keinen direkten SQL-Zugriff auf die JTL-Datenbank.

Aktueller Ablauf im täglichen Betrieb:

1. Retoure in JTL öffnen und „DHL Retoure Export“ ausgeben.

Ab diesem Punkt übernimmt der Server automatisch:

CSV → DHL → Retourenlabel → QR-Code → Sendungsnummer

2. Später die betreffende Retoure in JTL öffnen und unter Retourenetikett auf „Anlegen“ klicken.


Der im Hintergrund laufende Client-Agent erkennt die Retoure und trägt die zuvor von DHL erzeugte Sendungsnummer automatisch ein.

Server-Worker und Client-Agent können beide unsichtbar über den Windows-Autostart laufen.

Zusätzlich eingebaut sind unter anderem:

  • Doppelbuchungsschutz pro JTL-Retourennummer
  • Fehler- und Verarbeitet-Ordner
  • Logging
  • UNC-Netzwerkpfade für Serverbetrieb
  • Prüfung der DHL Receiver-ID
  • kontrollierter Einzeltest vor Freischaltung der Production-Automatik
  • getrennte Freischaltung der JTL-UI-Automatik
  • Sicherheitsprüfung, dass die Sendungsnummer nicht in die falsche JTL-Retoure geschrieben wird
Getestet wurde der aktuelle Aufbau mit JTL-Wawi 2.1.1.

Wichtig: Die automatische Eintragung in JTL erfolgt über die Windows-Oberfläche und nicht über eine offizielle JTL-API. Nach größeren JTL-Oberflächenupdates sollte deshalb zunächst die mitgelieferte UI-Diagnose ausgeführt werden.

Ich habe auch diese Erweiterung wieder komplett neutralisiert.

Neue Anhänge:

JTL-DHL-Retoure-Komplettpaket-neutral-v1.0.zip

Enthält Server-Worker, Client-Agent, JTL-Exportvorlage und Dokumentation.

JTL_DHL_Retoure_Automatisierung_Anleitung_neutral.pdf

Enthält die komplette Einrichtung von DHL Developer Portal, Receiver-ID, JTL-Exportvorlage, Server, Client, Tests, Autostart und Fehlerdiagnose.

Auch hier befinden sich keine Zugangsdaten, Abrechnungsnummern, Receiver-IDs oder firmenspezifischen Netzwerkpfade im veröffentlichten Paket.

Damit sind bei mir inzwischen sowohl der normale DHL-Versand als auch DHL-Retouren technisch unabhängig von Shipping 2.0 umgesetzt.

Als nächster Schritt folgen die OTTO-spezifischen Retouren.
 

Anhänge

Robin

Sehr aktives Mitglied
22. August 2014
171
43
Hi nochmal, habe meinen Windows Server komplett neugestartet und siehe da die API Verbindung läuft. Shipping 2.0 habe ich auch gerade eingerichtet. Bischen Feintuning noch aber läuft soweit, denke ich.
 

NikuTRAX

Aktives Mitglied
13. Juli 2023
29
18
Kleines Update / Patch v1.2
Hinweis für Neuinstallationen:
Inzwischen gibt es eine aktuelle All-in-One-Version des JTL-Wawi DHL-Workers inklusive DirectJTL, DHL API, OTTO-Retoure und automatischem Labeldruck.

Aktueller Hauptbeitrag / Komplettpaket:
https://forum.jtl-software.de/threa...tl-otto-retoure-auto-druck-all-in-one.249862/

Dieser Patch v1.2 ist daher hauptsächlich für bereits bestehende Installationen älterer Versionen gedacht.
Für bestehende Installationen gibt es einen kleinen Patch für den DHL-Worker.

Bei einzelnen Empfängeradressen kann die DHL API trotz einer reinen Validierungswarnung einen HTTP-400-Status zurückgeben, zum Beispiel:

consignee.name1 – Der eingegebene Wert ist zu lang und wurde gekürzt.

Bisher wurde eine solche Antwort vom Worker wie ein echter Fehler behandelt und die Sendung nicht weiter verarbeitet.

Mit dem Patch werden reine DHL-Warnungen (validationState = Warning) jetzt von echten Validierungsfehlern unterschieden. Bei einer Warnung wird die Verarbeitung fortgesetzt, bei einem echten Fehler weiterhin abgebrochen.

Zusätzlich werden die DHL-Felder name1 und name2 auf maximal 50 Zeichen begrenzt.

An den JTL-Export- und Importvorlagen sowie an der config.json ändert sich nichts.

Für bestehende Installationen reicht es aus, den Worker zu beenden, die Datei JTL-DHL-Worker.ps1 durch die Version aus dem Patch zu ersetzen und den Worker anschließend wieder zu starten.

Zusätzlicher Anhang:

JTL-DHL-Worker-Patch-v1.2-DHL-WarningHandling.zip
 

Anhänge

Zuletzt bearbeitet:

Ähnliche Themen