Почему Java не может разобрать поле XML с '&' в нем?
Потому что это, как и любые другие технологии.Не допускается, чтобы документ XML содержал символы &, которые не являются ни частью символа ref, например <
, ни экранированные.Такой документ должен быть отклонен как часть соглашения XML и потому, что нет рациональных аргументов, чтобы не отклонять их.(В случае, если вам интересно, это потому, что провайдер XML знает, что он делает XML, и поэтому у него даже не должно быть возможности создать такой сломанный XML-документ, не говоря уже о том, чтобы он был приемлемым, как только указал, что этонет.)
Как я могу справиться с этим в режиме реального времени?
Вы уже обрабатываете это единственно приемлемым способом: отказом от ввода и ответом с помощьюОшибка HTTP 400, неверный запрос.Пусть отправитель запроса исправит свои запросы.
Для вашей информации, запрос должен был быть:
<NAMES>
<NAME ID="P2" DESCRIPTION="Johnson & Johnsons" />
</NAMES>