[gelöst] BLOB - unterschiedlich auf versch. PC

29. August 2015 14:59

Tag zusammen,

folgendes habe ich:
Clients mit W7, W8 und W10, alle CC
Server Win2008R2, SQL2012
für die Clients habe ich einen .NET-HTML-Editor; Texte werden als BLOBs in NAV gespeichert.

Über einen Page-Webservice mit Extension-CU können die HTML-Texte aus den BLOBs übertragen werden. Das funktioniert eigentlich alles.

So nun kommt das eigenartige:
Füge ich im CC auf dem Server einen HTML-Text hinzu, dann sehe ich im SQL-Server trotz gleichem Text im HTML-Editor (Copy/Paste) unterschiedliche Einträge. Die Übertragung via Webservice schlägt dann fehl: Base64Codierungsfehler.

Unterschiedliche Versionen des HTML-Editors sind durch Neuinstallation auf den Rechnern und Server ausgeschlossen. Bin grad etwas ratlos.

Irgendeine Idee?
Zuletzt geändert von vsnase am 25. September 2015 15:28, insgesamt 1-mal geändert.

Re: BLOB - unterschiedlich auf versch. PC

22. September 2015 14:36

Kann es sein, dass das ein Codierungsproblem ist?

Sollte man den Editor explizit auf eine bestimmte Sprache/Codepage festlegen? Oder müssen die Daten vom HTML-Editor vor Übergabe an NAV bzw. Speicherung im Blob konvertiert werden?

Gibt es in NAV eine Funktion um die aktuellen Spracheinstellungen auszulesen um diese ggf. an den Editor weiterzugeben?

Volker

Re: BLOB - unterschiedlich auf versch. PC

22. September 2015 15:06

Mögliche Unterschiede könnten vom diesem "Hüh und Hott" kommen:
Bei den Webservices wird ab Build 32558 (NAV 2009 R2 RTM war Build 32012) immer EN-US als Sprache verwendet, vorher war es die eingestellte Client-Sprache.
http://blogs.msdn.com/b/nav/archive/2011/10/03/en-us-as-web-services-default-language.aspx
Ab Build 33137 kann aber der CustomSettings.Config eingestellt werden, ob optional die User Personalization Culture für die Sprache ausgewertet wird.
http://blogs.msdn.com/b/nav/archive/2012/02/06/ws-on-a-multilanguage-environment.aspx.

Hier ist ein Testbeispiel für Base64-Codierung.
http://kauffmann.nl/index.php/2012/04/04/binary-data-with-nav-web-service/

Re: BLOB - unterschiedlich auf versch. PC

22. September 2015 16:05

Gut, also wir haben immer noch 32012. Aber das dürfte keine Rolle spielen, weil der Server für beide Szenarien derselbe ist.

Einmal wird der CC und daraus der HTML-Editor auf dem Server selbst aufgerufen und einmal von einem W7-W10 Client.

Wie gesagt, der Server und der Webservice sind immer dieselben, die gespeicherten Daten im SQL-Server aber unterschiedlich.

Mir fällt dazu nur ein, dass der HTML-Editor (eine .NET-Com-Komponente) auf den System mit unterschiedlichen Einstellungen arbeitet und beim Start nicht die Codepage/Culture-Einstellungen vom CC übernimmt.

Für jede andere Idee bin ich dankbar.

Re: BLOB - unterschiedlich auf versch. PC

25. September 2015 15:28

Der Fehler lag im .NET-Editor. Dort wird eine Variable während einem Schleifendurchlauf mit Werten belegt und dann an den Webservice übergeben.

Diese wurde vor Verarbeitung aber nicht gelöscht und somit wurden alte Werte zusammen mit den neuen an den Webservice übergeben.

Das das zu unterschiedlichen Ergebnisen führt ist klar. Habe das erst gesehen, als ich mir den Base64-String angesehen habe ein "=" mitten im String bedeutet eigentlich in dem Fall nix Gutes. Das hat mich zur Lösung geführt.