我在 POST 请求时遇到问题。我必须接收 XML 消息并使用 JAXB 对其进行解析。一切正常,但是当消息中包含特殊字符时
<?xml version="1.0" encoding="UTF-8"?>
<sending>
<sms>
<message>España</message>
</sms>
</sending>
它抛出错误请求错误(400)客户端发送的请求在语法上不正确(错误请求)。
这是我处理 xml 消息的代码
@POST
@Path("smsSendPost")
@Produces(MediaType.APPLICATION_XML)
public Response smsSendPost(JAXBElement<Sending> xml){
Sending sending = xml.getValue();
//Process the message
}
我使用tomcat来测试它。
谁能帮我这个?
更新:我刚刚发现问题的原因是tomcat,当我通过带有ISO-8859-1编码的POST发送请求时,服务工作正常。解决办法是改变tomcat的编码。