У меня есть этот интерфейс:
@Path("inbox")
public interface InboxQueryResourceTest {
@POST
@Path("{membershipExternalId}/query")
@Consumes(MediaType.APPLICATION_XML)
@Produces("multipart/mixed")
public MultipartOutput query(@PathParam("membershipExternalId") final String membershipExternalId,
@QueryParam("page") @DefaultValue("0") final int page,
@QueryParam("pageSize") @DefaultValue("10") final int pageSize,
@QueryParam("sortProperty") final List<String> sortPropertyList,
@QueryParam("sortReversed") final List<Boolean> sortReversed,
@QueryParam("sortType") final List<String> sortTypeString,
final InstanceQuery instanceQuery) throws IOException;
}
Я реализовал метод для возврата MultipartOutput.
Я отправляю xml-запрос от Fiddler и получаю результат без проблем.
НО я сделал интеграционный тест для того же интерфейса, я отправил те же объекты и поставил ответ как:
final MultipartOutput multiPartOutput = getClient().query(getUserRestAuth(), 0, 25, null, null, null, instanceQuery);
Но вот, поэтому из интеграционных тестов я получаю странную ошибку:
Невозможно найти MessageBodyReader типа содержимого multipart / mixed; border = "74c5b6b4-e820-452d-abea-4c56ffb514bb" и тип класса org.jboss.resteasy.plugins.providers.multipart.MultipartOutput
У кого-нибудь есть идеи, почему только в интеграционных тестах я получаю эту ошибку?
PS: Некоторые из вас скажут, что я не отправляю application / xml как ContentType, а multipart, что, конечно, ложно, потому что объекты помечены требуемым @XmlRootElement и т. Д., Иначе ни POST от Fiddler не будет работать.