【发布时间】:2015-10-27 10:46:02
【问题描述】:
我正在开发一个使用 POST 发送信息的 Servlet。 我收到一个异常,具体取决于 servlet 的部署位置。 如果我在本地 JBoss EAP 7 上部署,它就像一个魅力。 但是,如果我部署到远程服务器(JBoss EAP 7 也是)我会收到以下错误:
代码
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>
有关更多信息,servlet 有一个 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 库的地方。 我不明白我的问题是否与该 xml 相关,或者我应该更改服务器/servlet 代码中的一些编码。 提前谢谢。
【问题讨论】:
标签: jakarta-ee servlets jboss jboss7.x xerces