Наконец я решил это. Я выкладываю ответ на случай, если это кому-нибудь поможет. Пройдя через онлайн-решения, я не смог обнаружить основную проблему, которая вызывала вышеуказанную ошибку. Для предотвращения xxe нам нужны некоторые определенные свойства, такие как: XMLConstants.ACCESS_EXTERNAL_DTD XMLConstants.ACCESS_EXTERNAL_SCHEMA
Нам нужны xerces и jaxp-ap jars для передачи xml и предотвращения xxe, предоставляемого API для разрешения xml, путем установки некоторых вышеперечисленных свойств. До JDK 7 они уже включены в JDK 7 и выше. Поэтому нам не нужно импортировать вышеупомянутые jar-файлы в наш путь к классам проекта.
В моем случае я использовал jboss-as-7.1.1.Final в качестве сервера приложений, который также имеет свой собственный xerces jar (org.apache.xerces. ) . Но java также поставляется с собственной реализацией xerces и jaxp (com.sun.xerces. ) . Таким образом, при развертывании войны мы получаем вышеуказанную ошибку, так как оба этих jar конфликтуют друг с другом, когда jboss загружает свои собственные jerces jar.
Решение: Нам нужно исключить реализацию jboss xerces, внеся изменения в jboss / org / apache / xerces / main / modules.xml файл. Закомментируйте строки, как показано ниже:
> <module xmlns="urn:jboss:module:1.1" name="org.apache.xerces">
> <!--
> <resources>
> <resource-root path="xercesImpl-2.9.1-jbossas-1.jar"/>
> Insert resources here
> </resources>
> -->
> <dependencies>
> <module name="javax.api"/>
> </dependencies>
>
> </module>
Теперь разверните и запустите ваше приложение. Удачного кодирования.