Я получаю очень загадочное исключение NullPointerException при синтаксическом анализе потока, исходящего из сокета с javax.xml.parsers.SAXParser из jdk.
Мой InputSource - это RecordingInputStream, который я создал, расширив FilterInputStream, чтобы иметь возможность записывать в файл журнала все данные, которые я получаю в сокете, прежде чем он переходит в анализатор. Используя этот способ, я теперь вижу, что исключение NullPointerException генерируется специально, когда в потоке появляется следующий тег:
<order act="D" order_id="16508679" scn="147185767940" reason="DELETE_ORDR" who_id="90296"/>
В противном случае разбор потока работает нормально. Все остальные часто встречающиеся теги XML успешно анализируются (исключений не выдается) и соответствующие методы XMLCommandsHandler вызываются корректно.
Пожалуйста, есть какая-нибудь подсказка, почему появляется это исключение NullPointerException? В противном случае я столкнусь с альтернативой проклясть все готовые парсеры потока XML и написать свой собственный простой парсер. Надоело исследовать ошибки другого программного обеспечения или плохой дизайн: (