[英]Jersey: Returns 204 Status Instead of 500
我有一個帶有以下資源類的Jersey網絡服務:
@Stateless
@Path("/provision")
public class ProvisionResource
{
private final Logger logger = LoggerFactory.getLogger(ProvisionResource.class);
@EJB
private ProvisionService provisionService;
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/subscriber")
public SubscriberAccount querySubscriberAccount(
@QueryParam("accountNum") String accountNum)
{
logger.debug("Entering querySubscriberAccount()");
final SubscriberAccount account;
try
{
account = provisionService.querySubscriber(accountNum);
if (account != null)
{
logger.debug("Retreived account = " + account);
}
else
{
logger.debug("No account was found for " + accountNum);
}
}
catch (IllegalArgumentException ex)
{
logger.error("Illegal argument while executing query for subscriber account",
ex);
throw new WebApplicationException(Response.Status.BAD_REQUEST);
}
catch (Exception ex)
{
logger.error("Unexpected exception while executing query for subscriber account",
ex);
throw new WebApplicationException(Response.Status.INTERNAL_SERVER_ERROR);
}
logger.debug("Exiting querySubscriberAccount()");
return account;
}
.... snip ....
}
provisionService.querySubscriber
引發一個異常,該異常由querySubscriberAccount
方法中的第二個catch語句捕獲(我們在文件中看到log語句)。 但是,客戶端收到的是204
狀態,而不是預期的500
錯誤。
我確實發現了與我的問題類似的問題: http : //java.net/jira/browse/JERSEY-41,但對於澤西島1.3.1來說它已經很老了。 我們正在使用1.9.1版。
有沒有其他人看到過這個問題,並希望找出問題所在?
我為此問題創建了一個錯誤http://java.net/jira/browse/JERSEY-1062 。 如果您遇到相同的問題,請考慮投票。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.