JTL Connector - Kein Abgleich der Bilder mit Shopware 6

Servus liebe Mitstreiter,

seit Wochen bekommen wir vom Connector folgende Fehlermeldung (in Kurzform):

The Shopware 6 server responded without json content

JTL-Support schon bemüht, hat 2 Stunden rumgebastelt und trotzdem ging nichts.
Auch die Übertragungsraten zu reduzieren hat nicht gebracht.

Die Artikel werden zwar richtig übertragen, aber die Bilder fehlen leider komplett.

Kann mir einer von Euch da weiterhelfen, ich stehe komplett auf dem Schlauch.
Und ohne Artikelbilder ist der beste Shop nix wert.

Vielleicht habe ich hier bei Shopware mehr erfolg als bei JTL.

Schönen Tag noch und bleibt gesund.

Harry

Kannst du das JSON posten, das JTL überträgt?

Ich hängs hier mal dran:

– Connector-Konfiguration –
Import: True
Import Artikel/Kategorien: False
Artikel überschreiben: False
Import Bilder: False
Import Aufträge/Kunden: True

Upload: True
Upload Artikel komplett: True
Upload Artikel eingeschränkt: False
Upload Bilder: True

Nur zugeordnete Hersteller senden: True
Endpoint version: 0.24.0
Wawi-Version: 1.5.53.1
JTL-Wawi: Sync start
JTL-Wawi: Licence is valid
JTL-Wawi: InitCall OK
JTL-Wawi: Initialize model getters…
JTL-Wawi: ModelGetters OK

global_data.pull: {
„method“: „global_data.pull“,
„params“: {
„limit“: 50,
„filters“: {}
},
„jtlrpc“: „2.0“,
„id“: „19717962a1cb41b3915470ba4544efb6“
}
<<< global_data.pull: {„jtlrpc“:„2.0“,„id“:„19717962a1cb41b3915470ba4544efb6“,„result“:[{„configGroups“:,„configItems“:,„crossSellingGroups“:,„currencies“:[{„id“:["",0],„delimiterCent“:"",„delimiterThousand“:"",„factor“:1,„hasCurrencySignBeforeValue“:false,„isDefault“:true,„iso“:„EUR“,„name“:„Euro“,„nameHtml“:"\u20ac"}],„customerGroups“:[{„id“:[„cfbd5018d38d41d8adca10d94fc8bdd6“,0],„applyNetPrice“:false,„discount“:0,„isDefault“:false,„attributes“:,„i18ns“:[{„languageIso“:„de“,„name“:„Standard-Kundengruppe“,„languageISO“:„ger“},{„languageIso“:„en“,„name“:„Standard customer group“,„languageISO“:„eng“}]}],„languages“:[{„languageIso“:„en“,„id“:["",0],„isDefault“:false,„nameEnglish“:„English“,„nameGerman“:„English“,„languageISO“:„eng“},{„languageIso“:„de“,„id“:["",0],„isDefault“:true,„nameEnglish“:„Deutsch“,„nameGerman“:„Deutsch“,„languageISO“:„ger“}],„measurementUnits“:[{„id“:["",0],„code“:„Stck.“,„displayCode“:„Stck.“,„i18ns“:[{„languageIso“:„de“,„name“:„St\u00fcck“,„languageISO“:„ger“}]}],„productTypes“:,„shippingClasses“:,„shippingMethods“:[{„id“:[„626c487f40a64020b5dfbca7fcc8228d“,0],„name“:„Express“},{„id“:[„88d15b8b617f4ba5980c8520c42d30c0“,0],„name“:„Standard“}],„taxRates“:[{„id“:["",0],„countryIso“:"",„rate“:0},{„id“:["",0],„countryIso“:"",„rate“:7},{„id“:["",0],„countryIso“:"",„rate“:19}],„units“:,„warehouses“:}],„error“:null}
(930,9085 milliseconds)

core.connector.ack: {
„method“: „core.connector.ack“,
„params“: {
„identities“: {
„customerGroup“: [
[
„cfbd5018d38d41d8adca10d94fc8bdd6“,
1
]
]
},
„checksums“:
},
„jtlrpc“: „2.0“,
„id“: „02b9d84b043e4a248f4677f36a7c192f“
}
<<< core.connector.ack: {„jtlrpc“:„2.0“,„id“:„02b9d84b043e4a248f4677f36a7c192f“,„result“:true,„error“:null}
(305,1386 milliseconds)

core.connector.ack: {
„method“: „core.connector.ack“,
„params“: {
„identities“: {
„language“: [
[
„“,
1
]
]
},
„checksums“:
},
„jtlrpc“: „2.0“,
„id“: „c017496b510d48b485cea51349c9b4d1“
}
<<< core.connector.ack: {„jtlrpc“:„2.0“,„id“:„c017496b510d48b485cea51349c9b4d1“,„result“:true,„error“:null}
(268,7275 milliseconds)

core.connector.ack: {
„method“: „core.connector.ack“,
„params“: {
„identities“: {
„shippingMethod“: [
[
„626c487f40a64020b5dfbca7fcc8228d“,
79
],
[
„88d15b8b617f4ba5980c8520c42d30c0“,
80
]
]
},
„checksums“:
},
„jtlrpc“: „2.0“,
„id“: „07e09611362c4bdda5fef35fb9f46f9e“
}
<<< core.connector.ack: {„jtlrpc“:„2.0“,„id“:„07e09611362c4bdda5fef35fb9f46f9e“,„result“:true,„error“:null}
(781,7667 milliseconds)

core.connector.ack: {
„method“: „core.connector.ack“,
„params“: {
„identities“: {
„currency“: [
[
„“,
1
]
]
},
„checksums“:
},
„jtlrpc“: „2.0“,
„id“: „97d2c7a9cc914895bd9576b0c8a049b6“
}
<<< core.connector.ack: {„jtlrpc“:„2.0“,„id“:„97d2c7a9cc914895bd9576b0c8a049b6“,„result“:true,„error“:null}
(328,8051 milliseconds)

core.connector.ack: {
„method“: „core.connector.ack“,
„params“: {
„identities“: {
„measurementUnit“: [
[
„“,
23
]
]
},
„checksums“:
},
„jtlrpc“: „2.0“,
„id“: „7bf527a5d04849b0ba67b3f9e8da351d“
}
<<< core.connector.ack: {„jtlrpc“:„2.0“,„id“:„7bf527a5d04849b0ba67b3f9e8da351d“,„result“:true,„error“:null}
(283,6504 milliseconds)
<<< core.connector.ack: {„jtlrpc“:„2.0“,„id“:„e4986abf09ee4e898d179e880ff518ba“,„result“:true,„error“:null}
(386,9572 milliseconds)

manufacturer.pull: {
„method“: „manufacturer.pull“,
„params“: {
„limit“: 20,
„filters“: {}
},
„jtlrpc“: „2.0“,
„id“: „b9e4ba99e6774adcb0a3f88eafbef185“
}
<<< manufacturer.pull: {„jtlrpc“:„2.0“,„id“:„b9e4ba99e6774adcb0a3f88eafbef185“,„result“:,„error“:null}
(539,9887 milliseconds)
<<< specific.pull: {„jtlrpc“:„2.0“,„id“:„2346eda236f1492091a9bf30ed17727f“,„result“:,„error“:null}
(1441,5076 milliseconds)

customer.pull: {
„method“: „customer.pull“,
„params“: {
„limit“: 20,
„filters“: {}
},
„jtlrpc“: „2.0“,
„id“: „44ea97ecdced4b13b4cd769e2b8d7e30“
}
<<< customer.pull: {„jtlrpc“:„2.0“,„id“:„44ea97ecdced4b13b4cd769e2b8d7e30“,„result“:,„error“:null}
(571,0479 milliseconds)

customer_order.pull: {
„method“: „customer_order.pull“,
„params“: {
„limit“: 20,
„filters“: {}
},
„jtlrpc“: „2.0“,
„id“: „7fa3f126ff874f14b7ca7479cb692b5b“
}

payment.pull: {
„method“: „payment.pull“,
„params“: {
„limit“: 20,
„filters“: {}
},
„jtlrpc“: „2.0“,
„id“: „8f7311a8aaa34fe4ada08ca2ca8eab03“
}
<<< payment.pull: {„jtlrpc“:„2.0“,„id“:„8f7311a8aaa34fe4ada08ca2ca8eab03“,„result“:,„error“:null}
(262,8144 milliseconds)

image.push: {
„method“: „image.push“,
„params“: [
{
„filename“: „2000_2396_4891046fcb1fc912d0869fad428cb63d_3ff35f9da0edaa7d3084720294702177c2fda61b65af5fc03409920376eef103b3d93785ed421f39155a1ee7e6126e764055e5b120c0d4ffa5a5ce3ddfd0b62f.jpg“,
„remoteUrl“: null,
„name“: „oscar_t-shirt_white_front“,
„foreignKey“: [
„“,
113736
],
„id“: [
„“,
786117
],
„relationType“: „product“,
„sort“: 1,
„i18ns“:
},
{
„filename“: „2000_2396_bbb3b8a00456a7d8eeab91711a2c0bee_165cf6f41bef1af4ff5b57aa58c4cdee448cc39af8aaa3d187b61a7906af3aa515361a0b43e686b87c8bf763c10ff16b1fc559e9790d20fc882c8faecfc37764.jpg“,
„remoteUrl“: null,
„name“: „alonso_t-shirt-with-print_black_front“,
„foreignKey“: [
„“,
113758
],
„id“: [
„“,
785801
],
„relationType“: „product“,
„sort“: 1,
„i18ns“:
}
],
„jtlrpc“: „2.0“,
„id“: „51db627edccb4ed6b642628e26686394“
}

core.connector.auth: {
„method“: „core.connector.auth“,
„params“: {
„token“: „###########################################“
},
„jtlrpc“: „2.0“,
„id“: „40e1c65da34c4a24b5ea42c12f6d7e53“
}

image.push: {
„method“: „image.push“,
„params“: [
{
„filename“: „2000_2396_4891046fcb1fc912d0869fad428cb63d_3ff35f9da0edaa7d3084720294702177c2fda61b65af5fc03409920376eef103b3d93785ed421f39155a1ee7e6126e764055e5b120c0d4ffa5a5ce3ddfd0b62f.jpg“,
„remoteUrl“: null,
„name“: „oscar_t-shirt_white_front“,
„foreignKey“: [
„“,
113736
],
„id“: [
„“,
786117
],
„relationType“: „product“,
„sort“: 1,
„i18ns“:
},
{
„filename“: „2000_2396_bbb3b8a00456a7d8eeab91711a2c0bee_165cf6f41bef1af4ff5b57aa58c4cdee448cc39af8aaa3d187b61a7906af3aa515361a0b43e686b87c8bf763c10ff16b1fc559e9790d20fc882c8faecfc37764.jpg“,
„remoteUrl“: null,
„name“: „alonso_t-shirt-with-print_black_front“,
„foreignKey“: [
„“,
113758
],
„id“: [
„“,
785801
],
„relationType“: „product“,
„sort“: 1,
„i18ns“:
}
],
„jtlrpc“: „2.0“,
„id“: „51c77f3ece6441ed8c2eb436015d1f13“
}

core.connector.auth: {
„method“: „core.connector.auth“,
„params“: {
„token“: „###########################################“
},
„jtlrpc“: „2.0“,
„id“: „82423bebeb21435ba110c72fb7e42fa1“
}

image.push: {
„method“: „image.push“,
„params“: [
{
„filename“: „2000_2396_4891046fcb1fc912d0869fad428cb63d_3ff35f9da0edaa7d3084720294702177c2fda61b65af5fc03409920376eef103b3d93785ed421f39155a1ee7e6126e764055e5b120c0d4ffa5a5ce3ddfd0b62f.jpg“,
„remoteUrl“: null,
„name“: „oscar_t-shirt_white_front“,
„foreignKey“: [
„“,
113736
],
„id“: [
„“,
786117
],
„relationType“: „product“,
„sort“: 1,
„i18ns“:
},
{
„filename“: „2000_2396_bbb3b8a00456a7d8eeab91711a2c0bee_165cf6f41bef1af4ff5b57aa58c4cdee448cc39af8aaa3d187b61a7906af3aa515361a0b43e686b87c8bf763c10ff16b1fc559e9790d20fc882c8faecfc37764.jpg“,
„remoteUrl“: null,
„name“: „alonso_t-shirt-with-print_black_front“,
„foreignKey“: [
„“,
113758
],
„id“: [
„“,
785801
],
„relationType“: „product“,
„sort“: 1,
„i18ns“:
}
],
„jtlrpc“: „2.0“,
„id“: „313b2e9d8f0a4f4aa4f43643e9c5c6c3“
}
JTL-Wawi: End sync
Exception: Controller = Image | Action = push | JTL-Wawi PK = 786117 | Related type Product (JTL-Wawi PK = 113736) | [b6594949-b324-4487-b581-ef9e2b6057ba] The Shopware 6 server responded without json content [403]:

403 Forbidden

Server Error

403

Forbidden

You do not have permission to access this document.


That's what you can do

Controller = Image | Action = push | JTL-Wawi PK = 786117 | Related type Product (JTL-Wawi PK = 113736) | [76af4587-bebc-4765-93c2-204652387a1f] The Shopware 6 server responded without json content [403]: 403 Forbidden

Server Error

403

Forbidden

You do not have permission to access this document.


That's what you can do

Abschlussinfo-Senden-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind! Controller = Image | Action = push | JTL-Wawi PK = 786117 | Related type Product (JTL-Wawi PK = 113736) | [b6594949-b324-4487-b581-ef9e2b6057ba] The Shopware 6 server responded without json content [403]: 403 Forbidden

Server Error

403

Forbidden

You do not have permission to access this document.


That's what you can do

Controller = Image | Action = push | JTL-Wawi PK = 786117 | Related type Product (JTL-Wawi PK = 113736) | [76af4587-bebc-4765-93c2-204652387a1f] The Shopware 6 server responded without json content [403]: 403 Forbidden

Server Error

403

Forbidden

You do not have permission to access this document.


That's what you can do

bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.fOUkUAOlbVp(String , Object , Boolean , NetworkCredential ) bei jtlCore.ControllerClasses.Connector.Abgleich.Connector.FinishCall() bei jtlCore.ControllerClasses.Connector.Abgleich.EntityAbgleicher.ConnectorFinishCallTask.Run() bei JTL.Connector.Business.SyncRunner.Run()

Also bei den Nummerkreis (JTL-Wawi PK = 786117) stellt sich mir die Frage ist der Shop frisch installiert?

ich kenne dieses Problem von anderen Stores. Der Connector ist echt gruselig. Wir haben für fast alles eigene Lösungen gebaut.

Einige Kunden nutzen zwar JTL, ich bin mir jedoch nicht sicher ob JTL die API nutzt oder selbst etwas programmiert hat.

Der Path zu deinen Bildern ist relativ. Falls es über die API geht, dann ist klar dass Shopware damit nichts anfangen kann.

Teste doch einfach mal einen absoluten Path.

Ne - Shop ist frisch aufgesetzt.

Das können einige Ursachen sein! Welche Plugins hast Du installiert, Anpassungen im Shop gemacht usw.

Also die Probleme kenne ich, wenn der Shop frisch oder alt ist. Wenn dann wären der Synchronisierung dinge parallel geändert werden, oder man unterbricht den Abgleich kann er sich verschlucken.

Du hast somit nur ein paar Möglichkeiten.

  1. Such das Produkt JTL-Wawi PK = 786117 in der WaWi raus und lösche es im Shop via Connector

  2. Komplett abgleich laufen lassen. (Dauert je nach Anzahl der Artikel)

  3. Verknüpfungen (in der Shopanbindung der WaWi) löschen und dann den Komplett Abgleich ausführen

  4. Zweiten Shopware Installieren, und einen neuen Connector Buchen

Ich würde die Option 1 als erstes ausführen, wenn die dann nicht hilft würde ich schon zu 4 springen.
Wenn die 1 nicht hilft deutet es auf Reste in der Shopware DB hin.

Servus,

Option 1 - 4 gemacht, die Bilder werden immer noch nicht übertragen.
An irgendwelchen Rechten kann es auch nicht liegen, wenn ich die Bilder manuell in Shopware hinzufüge dann klappt das.

ciao

Meine Anmerkung mit relativen und absoluten Pfaden hast du auch getestet?

Pfade kann ich nicht ändern, das ganze läuft ja über den Connector von JTL (SaaS).
Da habe ich keine Möglichkeit zum eingreifen.

Das läuft alles über die API der Connector zieht es auf den JTL Server und die Script dort PUSHEN es via API.

Der Pfad soll ja auch in JTL und nicht in Shopware eingegeben werden.

Sorry, aber da steh ich auf’m Schlauch.
Wo kann der Pfad bei JTL angegeben werden? Ist mir bis dato noch nicht untergekommen, oder ich hab’s einfach geflissentlich übersehen.

ciao

Du kannst keinen Pfad ändern, nicht in JTL und auch nicht in Shopware. Das Bild geht aus der WaWi an JTL dann via API in den Shop wo willst du was ändern?
Du kannst Dir auch den Swagger aufmachen und versuchen ein Bild zu Pushen.
Wenn aber immer wieder die Fehlermeldung zu dem selben Artikel / Bild kommt, hast Du definitiv Reste in der Shopware Datenbank, weil was Schief gegangen ist.
Woran es auch noch liegen kann ist deine Bildgöße und das Format. Hast Du mal versucht das Bild in JTL zu löschen dann den Push und dann erneut das Bild einspielen oder mal mit einem anderen Bild?

Servus,
probier ich heute abend mal aus das mit den Bildern.
Reste kann ich mir eigentlich nicht vorstellen da der Shop ja quasi „jungfräulich“ war.

ciao