Exakt selbes Problem im Flow setCustomerClasses_fromRating:
Dort habe ich exakt nichts geändert, außer die Calls auf 115 gehoben und den Account hinterlegt. Das Limit war in diesem Flow schon immer auf 2000.
Früher ging das, jetzt wirft es mir ebenfalls den "input string: -2876259600"-Fehler wie oben.
Hallo Herr Jackel,
der Fehler "org.apache.axis2.AxisFault: For input string: "-2876259600"" hat nur indirekt etwas mit dem eingestellten Limit zu tun. Bei einem der Kunden scheint eine Zahl "-2876259600" in einem Feld der Response von Plenty enthalten zu sein, was auf unserer Seite beim parsen der Response zu einer Überschreitung des Zahlenbereichs führt. Um herauszufinden welche Kunde den Fehler verursacht, können sie im Plenty Backend den SOAP API Log aktivieren und den Flow nochmal mit einem großen Limit starten. In der letzten GetCustomers Response des SOAP API Log sollten sie die Zahl -2876259600 und die Customer ID dazu finden und evtl. im Plenty Backend am entsprechenden Kunden korrigieren.
<DateOfBirth xsi:type="xsd:int">-62169987600</DateOfBirth>
Wenn ich mir das im Backend anschaue, entspricht das dem Datum "05.05.1905". Keine Ahnung wie das zustande kam, die werden ja kaum alle zusammen so alt sein. Ich nehme an das Problem liegt hier bei Plenty, für den Response könnt ihr ja nix, wa?!
Ich werd mich mal da am Support versuchen. Aber da läuft halt alles arg zäh -.-
Bin ich der einzige Nutzer mit dem Problem?
Danke, Daniel
Da das nicht nur einen Kunden betrifft, ist es leider sehr mühsam das alles per CSV zu korrigieren (27 Exporte a 6000 Zeilen).
Könnt ihr von eurer Seite aus was für uns tun? Oder läuft die Zahl schon "bei Plenty" über?
Mit den Timestamps in Plenty 7 hatten wir schon einige Probleme über die SOAP. Wir vermuten das mit der Umstellung auf das W3C Datumsformat zu tun hat.
Wenn sie das Timestamps schnell korrigieren wollen, können sie sich einen kleinen Flow GetDynamicExport -> SpreadsheetFilter -> SetDynamicImport
Im Filter müsste dann die Filterbedingung
Birthday != "" && isNumber(Birthday?split("-")[0]) && (Birthday?split("-")[0]?number <= 1910)
rein.
Das Dyn. Export Format sollte so aussehen.
Im SetDynamicImport Mapping können sie die Spalte Birthday leer lassen (keine Quelle auswählen).
Und es geht grad so weiter, nächster "Problemkunde":
per SOAP:
<DateOfBirth xsi:type="xsd:int">2860095600</DateOfBirth>
per Backend:
13.07.1924
per DynExport:
2060-08-19
Ich lass die Finger von, bis es nen Fix vom Fix gibt.
Saftladen -.-
<DateOfBirth xsi:nil="true"/>
Das ist mir erstmal egal, weil es wird trotzdem kein Fehler wie bisher geworfen. Aber kann halt nur eines von beidem stimmen ;-)
Viel schlimmer grade: wenn ich den (Debug-)Filter customerID wegnehme, bekomme ich gar keine Kunden mehr zurück. Wenn ich ein lastOrderFrom setze, bleibt der Response leer (no_data). Wenn ich kein Datum angebe scheitern wir mit
Error during preview in step: PlentyGetCustomers112 (RuntimeException: Code: 800 Error: =Please enter at least one of the required request parameters. | )
Was den v112-Call referenziert? Hä?
Liegt das Problem hier bei Plenty oder bei euch?
Ich frag dort mal parallel!
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.samenhaus.de/plenty/api/soap/version115/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:GetCustomersResponse> <return xsi:type="ns1:PlentySoapResponse_GetCustomers"> <Customers xsi:nil="true" /> <Pages xsi:nil="true" /> <Success xsi:type="xsd:boolean">true</Success> <ResponseMessages xsi:type="ns1:ArrayOfPlentysoapresponsemessage"> <item xsi:type="ns1:PlentySoapResponseMessage"> <Code xsi:type="xsd:int">110</Code> <IdentificationKey xsi:nil="true" /> <IdentificationValue xsi:nil="true" /> <SuccessMessages xsi:nil="true" /> <ErrorMessages xsi:nil="true" /> <Warnings xsi:type="ns1:ArrayOfPlentysoapresponsesubmessage"> <item xsi:type="ns1:PlentySoapResponseSubMessage"> <Value xsi:type="xsd:string">Unused parameter</Value> <Key xsi:type="xsd:string">Page</Key> </item> <item xsi:type="ns1:PlentySoapResponseSubMessage"> <Value xsi:type="xsd:string">No data</Value> <Key xsi:nil="true" /> </item> </Warnings> </item> </ResponseMessages> </return> </ns1:GetCustomersResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>Und die mit dem Fehler:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.samenhaus.de/plenty/api/soap/version115/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:GetCustomersResponse> <return xsi:type="ns1:PlentySoapResponse_GetCustomers"> <Customers xsi:nil="true" /> <Pages xsi:nil="true" /> <Success xsi:type="xsd:boolean">true</Success> <ResponseMessages xsi:type="ns1:ArrayOfPlentysoapresponsemessage"> <item xsi:type="ns1:PlentySoapResponseMessage"> <Code xsi:type="xsd:int">110</Code> <IdentificationKey xsi:nil="true" /> <IdentificationValue xsi:nil="true" /> <SuccessMessages xsi:nil="true" /> <ErrorMessages xsi:nil="true" /> <Warnings xsi:type="ns1:ArrayOfPlentysoapresponsesubmessage"> <item xsi:type="ns1:PlentySoapResponseSubMessage"> <Value xsi:type="xsd:string">Unused parameter</Value> <Key xsi:type="xsd:string">Page</Key> </item> <item xsi:type="ns1:PlentySoapResponseSubMessage"> <Value xsi:type="xsd:string">No data</Value> <Key xsi:nil="true" /> </item> </Warnings> </item> </ResponseMessages> </return> </ns1:GetCustomersResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>Wenn ich eine CustomerID angebe klappt alles.
Hallo Daniel
Das mit dem Geburtsdatum liegt bei uns. Der DateOfBirth Timestamp ist bei uns ein Datentyp int. Wenn das Element in der Repsonse nicht vorhanden ist, wird es auf die "-2147483648" gesetzt.
Ich habe seit gestern bei einem anderen Kunden von uns auch Probleme mit dem GetCustomers Call (https://forum.plentymarkets.com/t/soap-115-getcustomers-call-mit-store-id-parameter/55343).
Kannst du den customerType im Step auf z.B. Customer stellen und den Abruf ohne Datum nochmal testen. Ein Parameter muss bei diesem Call immer gesetzt sein.
Vielen Dank und viele Grüße
Torsten
Backend
14.04.1965
SOAP
-55983402000
DynExport
0195-12-16 00:00:00
Samenhaus-Admin
Hallo Synesty,
im Zuge der Plenty7-Migration ist mir im Flow moveUsers_NoMail aufgefallen, dass hier ein Limit von 25 (default) für PlentyGetCustomers gesetzt wurde (Abruf für lastUpdateFrom = prop_lastruntime).
Nun bin ich nicht mehr 100% in meinen Gedankengängen die ich hatte als ich den Flow damals geschrieben hab. Aber wenn es seit dem letzten Flowrun mehr als 25 aktualisierte Datensätze gibt, dann gehen mir die doch verloren?
Ich hab also mal zu Debug-Zwecken lastUpdateFrom auf Anfang des Jahres gesetzt, und das Limit auf 2500 hoch. Damit läuft mir aber mein Flow nicht, sondern bricht mir mit "ERROR:org.apache.axis2.AxisFault: For input string: "-2876259600"" ab. Für ein Limit von 250 klappt es hingegen ohne Probleme.
Das könnte ausreichen bei wöchentlichem Flowrun, sicher ist das allerdings nicht ;) Ein deutlich höheres Limit wäre hier geschickt...
Was ist da los / was muss ich ändern?
Mit freundlichen Grüßen, Daniel Jackel / Samenhaus Müller