Ich fange wie immer an mit dem großen Lob an den Autor
Habe gestern etwas entdeckt, was ich mir nicht erklären kann.
Und zwar setze ich himXML bei der Verarbeitung von sehr großen Mengen an
XML-Daten ein, die ich von einer
API geliefert bekomme. Bei der Auswertung der Log-Datei habe ich nun mehrere Exceptions von himXML entdeckt die wie folgt aussehen:
[EXMLException] TXMLFile.LoadFromXML:
invalid value ("<?xml version=#00221.0#22 encoding=#22UTF-8#22?><epart:epart xmlns...")
TXMLFile.LoadFromStream:
invalid value
TXMLFile.-:
Wenn man bedenkt, dass am Tag über 200.000 Datensätze verarbeitet werden, sind paar Hundert solche Exeptions nicht weiter schlimm. Ich würde aber gerne verstehen, warum diese Fehler auftretten. Ich habe mit den Technikern des
API-Betreibers telefoniert, die ihrerseits ein Fehler im
XML-Header ausschließen. Schließlich kommen andere Daten mit dem richtigen Header an, der Header sei doch nur eine String-Konstante, die den zu versendenden Daten zugefügt wird. Daraufhin habe ich die Protokollierung etwas erweitert und füge nun auch den gesammte von der
API gelieferte
XML-String mit ein. Und spätestens dort ist sichtbar, dass der Header korrekt ist:
[EXMLException] TXMLFile.LoadFromXML:
invalid value ("<?xml version=#00221.0#22 encoding=#22UTF-8#22?><epart:epart xmlns...")
TXMLFile.LoadFromStream:
invalid value
TXMLFile.-:
Server data:
<?xml version="1.0" encoding="UTF-8"?><epart:epart xmlnssi="http://www.w3.org/2001/XMLS...
Warum passiert das? Hat jemand eine Erklärung?