Я разрабатываю сервлет, который использует POST для отправки информации. Я получаю исключение в зависимости от того, где находится сервлет. Если я развернусь на локальном JBoss EAP 7, он работает как шарм. Но, если развернуть на удаленный сервер (JBoss EAP 7 тоже) я получаю следующее сообщение об ошибке:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException синтаксический разбор XML в POST (Java Servlet)
КОД
final InputStream is = new ByteArrayInputStream(xml);
doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(is);
ОШИБКА
<message>
Failed to load XML: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Byte no válido 2 de la secuencia UTF-8 de 4 bytes
~ôJ뢺ÞjX³jwh•ªkyø«™§¬‚†Ú~*æiÊ+x„ÅÇ©¶*'ºè©`zw«j¹Z~*æip(Ú½©Z </message>
Для получения дополнительной информации сервлет имеет jboss-deployment-structure.xml
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<deployment>
<dependencies>
<module name="javax.api"/>
<module name="org.apache.santuario.xmlsec"/>
<module name="org.apache.xerces" />
<system export="true">
<paths>
<path name="com/sun/org/apache/xerces/internal/dom"/>
</paths>
</system>
</dependencies>
</deployment>
</jboss-deployment-structure>
Где xerces libra Причастен. Я не понимаю, связана ли моя проблема с этим xml, или я должен изменить некоторую кодировку в коде сервера/сервлета. Thnaks заранее.
Спасибо, могли бы вы улучшить решение лучше? – Badulake
Запустите команду «locale» в ваших системах на базе Unix, первая строка вывода должна указать вам кодировку по умолчанию. –