どこかから、Webサービスへの愚かで無効なURLリクエストを受け取りました。
http://localhost:8080/WebApplication1/webresources/testme?stupidparameter=dyndcvgz/&%$\xa7edns
私のサンプル アプリケーションは次のようになります。glassfish 4.0 と jdk1.7u40 で Netbeans を使用してビルドします。
package WebApplication1;
import javax.ejb.Stateless;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Stateless
@Path("/testme")
public class NewSessionBean {
/**
* http://localhost:8080/WebApplication1/webresources/testme?stupidparameter=dyndcvgz/&%$\xa7edns
*
* @param stupidparameter
* @return
*/
@GET
@Produces("text/plain")
public String getXml(
@QueryParam("stupidparameter") String stupidparameter) {
System.out.println("stupidparameter = " + stupidparameter);
return "got " + stupidparameter;
}
}
そして、指定されたテスト URL を使用すると、常に org.jboss.weld.servlet.WeldListener から IllegalStateException: isHexDigit を取得しました。この例外を回避または処理するにはどうすればよいですか?