22. Mai 2009 18:40
Ich habe einen xmlport der über einen stream mit einem xml dokument gefüllt wird. Die xml nachricht kommt von einem webservice welcher über die ms message queue mit dem nas kommuniziert. Das ganze läuft auf NAV 4.0 SP2. Mein Problem ist, dass die Umlaute (ü,ö,ä) einen Fehler beim IMPORT des xmlports ergeben. Wenn ich die gleiche xml Message in eine Unicode Datei schreibe und diese einlese, dann funktioniert alles tadellos. Es liegt also meiner Meinung nach daran, dass der Stream nicht Unicode ist.
Folgendes Testszenario bringt den selben Fehler:
TempXmlMsg."XML Request".CREATEINSTREAM(myInStream);
TempXmlMsg."XML Request".CREATEOUTSTREAM(myOutStream);
myText.ADDTEXT('<test>Müller</test>);
myText.WRITE(myOutStream);
TestXMLPort.SETSOURCE(myInStream);
TestXMLPort.IMPORT;
myText ist eine BigText Variable in die ich das XML Dokument schreibe. Dann wird der BigText über einen OutStream in eine temp. Tabelle in ein BLOB Feld geschrieben und von dort über einen InStream in den XMLPort geschickt. Das Encoding des XML Ports habe ich auch schon testweise von UTF-16 auf UTF-8 umgestellt, ohne Erfolg.
Ich hoffe jmd. kann mir auf die Sprünge helfen.
Daniel