Я пытаюсь вызвать свою службу RESTful с помощью JAXRSClientFactory - и я застрял с предоставлением конфигурации для типов сопоставлений запроса / ответа (мне нужно сериализовать список)
Код выглядит следующим образом:
JAXRSClientFactory.create("http://localhost:8080/", MyCoolService.class, "/path/to/client/config.xml");
config.xml выглядит так:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
">
<jaxrs:client id="testClient" createdFromAPI="true">
<jaxrs:providers>
<bean class="my.provider.Class"/>
</jaxrs:providers>
</jaxrs:client>
</beans>
теперь при отладке клиентского кода я вижу, что внутри org.apache.cxf.jaxrs.provider.ProviderFactory есть вызов
MessageBodyWriter<T> mw = chooseMessageWriter(messageWriters,
bodyType,
parameterType,
parameterAnnotations,
mediaType,
m);
, однако messageWriters не содержат моего провайдера. Что не так с моим кодом и как правильно предоставить MessageBodyWriter? Заранее спасибо!