Gelöst Zeichenfolge in Kundendaten crasht Shop-Sync

mathiask

Aktives Mitglied
8. September 2015
59
2
Hallo,

bin mir nicht sicher ob das hier reingehört, aber da wir den SW5 Connector nutzen poste ich es erst mal hier, ansonsten bitte ins Wawi Forum verschieben, falls das ein Problem der Wawi ist.

Symptom:

In den Auftragsdaten aus Shopware > Bestellung-Details > Details > Telefonnummer
hat ein Kunde seine Telefonnummer wie folgt angegeben:

012345-67890 ///// 0987-6543210

er wollte in das Feld wohl sein Festnetz und Handy vermerken.

Uns fiel auf, dass keine Aufträge in die Wawi über einen mehrstündigen Zeitraum reinkamen.

Bei Prüfung der Logs endete das Log mit folgender Meldung:

Aufträge-Empfangen-Fehler: Bitte beachten Sie, dass zur Fehler-Diagnose ebenfalls die Log-Datei des Servers und das Abgleich-Log der JTL-Wawi notwendig sind!
Zeichenfolgen- oder Binärdaten würden abgeschnitten.
Die Anweisung wurde beendet.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at JTL.Database.DbCommandExtensions.ExecuteNonQuery(IDbCommand command)
at JTL.Database.DbConnectionExtensions.<>c__DisplayClass1.<ExecuteNonQuery>b__0(IDbConnection con)
at JTL.Database.DbConnectionExtensions.<>c__DisplayClass9`1.<Execute>b__7()
at JTL.Database.DbConnectionExtensions.HandleError[T](IDbConnection connection, Func`1 action)
at JTL.Database.DbConnectionExtensions.Execute[T](IDbConnection connection, Func`2 func)
at JTL.Database.DbConnectionExtensions.ExecuteNonQuery(IDbConnection connection, IDbCommand command)
at JTL.Database.Commands.Entities.TpkCreateCommand.Execute(IDbConnection connection, IDbTransaction transaction)
at JTL.Database.Commands.Entities.DbCreateCommandTransaction.<>c__DisplayClass1.<Execute>b__0(IDbCreateCommand command)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Linq.Enumerable.Sum(IEnumerable`1 source)
at JTL.Database.Commands.Entities.DbCreateCommandTransaction.Execute(IDbConnection connection, IDbTransaction transaction)
at jtlDatabase.jtlObjectRepositoryBase.prTF0eVbiZ8(IEnumerable`1 items, Type )
at jtlDatabase.jtlObjectRepositoryBase.URhF0GixVkI(IGrouping`2 group)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Sum(IEnumerable`1 source)
at jtlDatabase.jtlObjectRepositoryBase.Create(IEnumerable`1 items)
at jtlDatabase.jtlObject.insertInDB()
at jtlDatabase.classes.jtlDBClasses.jtlRechnungsadresse.insertInDB()
at jtlDatabase.jtlObject.Save()
at jtlDatabase.classes.ConnectorClasses.CustomerOrderSaver.awfW2pkxta(CustomerOrderBillingAddress , jtlKunde )
at jtlDatabase.classes.ConnectorClasses.CustomerOrderSaver.Save(List`1 customerOrders, List`1& exceptions)

und der Folge, dass keine Aufträge synchronisiert wurden.

Da ich nicht weiss, ob die Zeichenfilterung / Kürzung im Shopconnector oder in der WaWi stattfinden sollte hier der Post.

Ob es an den vielen Slashes liegt oder schier an der Länge kann ich auch nicht aussagen. Ich würde mich freuen, wenn dies geprüft werden würde. Da man sonst recht einfach den Sync crashen kann als "böswilliger" Kunde.

Grüße
Mathias
 

Ähnliche Themen