Jersey: @Consumes não funciona muito quando o tipo de conteúdo não está definido

Estou tentando descobrir como o @Consumes funciona aqui.

Eu tenho um recurso simplificado que se parece com o abaixo, e eu só quero esse recurso para consumir "application / vnd.myApp + xml".

@Path("/app")
@Consumes("application/vnd.myApp+xml")
@Produces("application/vnd.myApp+xml")
public class AppResource {
    @POST
    public Response postStuff() {
        ...
    }
}

Eu tenho os seguintes testcases: -

public class AppResourceTest extends JerseyTest {
    @Test
    public void testApp() {
        // #1: Works fine
        ClientResponse response = resource().path("app")
                    .accept("application/vnd.myApp+xml")
                    .post(ClientResponse.class);

        ...

        // #2: Throws a 415 Unsupported Media Type
        ClientResponse response = resource().path("app")
                    .accept("application/vnd.myApp+xml")
                    .type("text/plain")
                    .post(ClientResponse.class);

        ...

        // #3: Works fine
        ClientResponse response = resource().path("app")
                    .accept("application/vnd.myApp+xml")
                    .type("application/vnd.myApp+xml")
                    .post(ClientResponse.class);

        ...
    }
}

Dos 3 testes acima, # 2 e # 3 funcionam como esperado.

Quanto ao # 1, se eu não definir o tipo de conteúdo, por que ele não joga um 415 também?

questionAnswers(3)

yourAnswerToTheQuestion