не мог найти MessageBodyReader

У меня есть этот интерфейс:

 @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 от Скрипача, и я получаю результат без любой проблемы.

НО я сделал интеграционный тест на тот же интерфейс, я отправляю те же объекты, и я поместил ответ как:

final MultipartOutput multiPartOutput = getClient().query(getUserRestAuth(), 0, 25, null, null, null, instanceQuery);

Но здесь, таким образом, от интеграционных тестов, я получаю странную ошибку:

Не удалось найти MessageBodyReader типа контента многослойным/смешанным; граница = "74c5b6b4-e820-452d-abea-4c56ffb514bb" и класс типа org.jboss.resteasy.plugins.providers.multipart. MultipartOutput

У кого-либо есть какой-либо ideea, почему только в интеграционных тестах я получаю эту ошибку?

PS: Некоторые из Вас скажут, что я не посылаю заявление как ContentType, но многослойный, который, конечно, является ложью, потому что объекты аннотируются необходимым @XmlRootElement и т.д., otherways ни один, который POST от Скрипача работал бы.

6
задан skaffman 13 March 2010 в 16:09
поделиться

2 ответа

Попробуйте добавить этот метод в ваш тестовый класс. Это зарегистрирует встроенные провайдеры по умолчанию, которые уже зарегистрированы на вашем сервере.

@BeforeClass
public static void registerProviders() {
    ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance();
    RegisterBuiltin.register(providerFactory);
}
-1
ответ дан 18 December 2019 в 04:52
поделиться

Включено ли в путь к классам соответствующее расширение для многостраничного кодирования? (esteasy-multipart-provider).

0
ответ дан 18 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: