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 のエンコーディングを変更することです。