Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: JKo am 17.10.17 - 11:05:53

Titel: Webservice Consumer - Inhalt ist im Prolog nicht zulässig
Beitrag von: JKo am 17.10.17 - 11:05:53
Hallo,

ich habe eine Schnittstelle von SAP in unser Notes-basiertes CRM-System erstellt.  Aus SAP werden die Kundendaten von einem Webservice Provider zur Verfügung gestellt. In Notes habe ich eine Consumer und einen Java-Agent der den Consumer verwendet. Die Schnittstelle ist so aufgebaut, dass das Datum des letzten Laufes in ein Profile geschrieben wird.

Die Schnittstelle funktioniert gut solange es nicht zu viele Datensätze sind. Sobald ich auf die migrierten Daten zugreife, stürtzt mir der Agent mit einer SAXParseException "Inhalt ist im Prolog nicht zulässig" ab.

Wenn ich den Service in SAP teste liefert er mir gültiges XML, egal ob mit einigen Datensätzen oder mit allen migrierten Daten.

Kann mir jemand weiterhelfen?

Gruß Jko
Titel: Re: Webservice Consumer - Inhalt ist im Prolog nicht zulässig
Beitrag von: Mitch am 19.10.17 - 17:54:14
Grundsätzlich kann sowas an Sonderzeichen liegen, ich hatte das mal beim Import einer WSDL-Datei aus einem Ordner mit "#" im Namen (https://atnotes.de/index.php/topic,52872.0.html).

Gruß,

Mitch
Titel: Re: Webservice Consumer - Inhalt ist im Prolog nicht zulässig
Beitrag von: flaite am 29.10.17 - 08:14:53
Tät mich sehr wundern, wenn dieses Problem durch eine hohe Last auf den Consumer verursacht würde.
Eher: Eins von den einkommenden xmls ist faul.
Für mich ist diese Meldung ein Hinweis auf ein bom in xml Dokument. Kann aber auch an anderen leichter sichtbaren encoding Problemen liegen.
Bei so einem Zeug schau ich immer, dass ich die einkommenden xml Nachrichten irgendwie intercepted bekomme, heutzutage am liebsten mit wireshark.  
Bom ist nicht lustig, weil auch da nicht unbedingt sichtbar.
Erster Schritt wäre erstmal herauszufinden, welches xml Dokument im großen Import das Problem verursacht.

Zu Bom: die 19 Punkte Antwort dort: https://stackoverflow.com/questions/1772321/what-is-xml-bom-and-how-do-i-detect-it
Das ist nur eine Byte Sequenz, d.h. ein viewer von den xml Dokumenten glättet das wahrscheinlich. Gute Editoren wie notepad++ zeigen das unter Encoding im Menü an. Mit einem Hexeditor sieht man das auch.
Falls bom Problem, hilft die 54 Punkte Antwort hier möglicherweise weiter, um das zu verifizieren.
https://stackoverflow.com/questions/4897876/reading-utf-8-bom-marker