Je reçois une NullPointerException très mystérieuse lors de l'analyse d'un flux provenant d'un socket avec javax.xml.parsers.SAXParser de jdk. Mon InputSource est un RecordingInputStream que j'ai créé en étendant FilterInputStream afin de pouvoir enregistrer dans un fichier journal toutes les données que je reçois sur le socket avant qu'il ne descende dans l'analyseur. En utilisant cette façon, je peux maintenant voir que la NullPointerException est lancée spécifiquement lorsque la balise suivante apparaît dans le flux:Java XML SAXParser lève NullPointerException sur la méthode .parse (InputSource, XMLCommandsHandler)
<order act="D" order_id="16508679" scn="147185767940" reason="DELETE_ORDR" who_id="90296"/>
Sinon, l'analyse syntaxique du flux travaille bien. Toutes les autres balises XML qui arrivent fréquemment, sont analysées avec succès (aucune exception n'est levée), et les méthodes correspondantes de XMLC CommandsHandler sont invoquées correctement.
S'il vous plaît, toute idée pourquoi cette NullPointerException apparaît? Sinon, je suis confronté à l'alternative de maudire tous les analyseurs de flux XML déjà écrits et d'écrire mon propre analyseur simple. Fatigué d'explorer d'autres bugs du logiciel, ou une mauvaise conception :(
Avez vous avez essayé de reproduire le problème en utilisant seulement l'entrée que vous avez e identifié? –
Publiez votre gestionnaire supposé gérer cette balise et une trace de pile. –