簡體   English   中英

澤西島:返回204狀態而不是500

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM