Отправка настраиваемых маршаллеров запросов в JAXRSClientFactory

Я пытаюсь вызвать свою службу 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? Заранее спасибо!

5
задан jdevelop 28 December 2011 в 22:34
поделиться