[英]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.