Джерси: возвращает 204 статуса вместо 500 - PullRequest
1 голос
/ 31 января 2012

У меня есть веб-сервис 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 выдает исключение, которое перехватывается вторым оператором catch в методе querySubscriberAccount (мы видимзапись лога в файл).Однако клиент получает статус 204 вместо ожидаемой ошибки 500.

Я обнаружил эту проблему, которая похожа на мою: http://java.net/jira/browse/JERSEY-41, но довольно старая и для Джерси1.3.1.Мы используем версию 1.9.1.

Кто-нибудь еще видел эту проблему и надеется выяснить, в чем проблема?

1 Ответ

0 голосов
/ 17 апреля 2012

Я создал ошибку http://java.net/jira/browse/JERSEY-1062 для этой проблемы.Пожалуйста, рассмотрите возможность голосования за него, если у вас возникла та же проблема.

...