Я настроил службу JAX-RS с использованием Apache CXF, которую я хотел бы протестировать с помощью клиентского API Apache CXF JAX-RS. Сервер был настроен на использование Джексона в качестве поставщика json. Теперь я хотел бы сделать то же самое для клиента: то есть позволить Джексону обработать преобразование в / из json.
К сожалению, я не уверен, как «включить пружину» тестов, имея лишь поверхностные знания о Spring. Мне не помешала программная настройка провайдера в тесте, но я хотел бы знать, как это сделать через Spring. Так что вместо
@BeforeClass
public static void setup() {
ProviderFactory.getSharedInstance().registerUserProvider(new JacksonJsonProvider());
}
Я бы хотел установить его в springConfiguration.xml (или что-то в этом роде :). При настройке серверной части springConfiguration.xml выглядел следующим образом.
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
<ref bean="echoService"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jsonProvider" />
</jaxrs:providers>
<jaxrs:extensionMappings>
<entry key="json" value="application/json"/>
</jaxrs:extensionMappings>
</jaxrs:server>
Я пытался просто добавить
<jaxrs:client id="restClient" >
<jaxrs:providers>
<ref bean="jsonProvider" />
</jaxrs:providers>
</jaxrs:client>
к springConfiguration.xml, но это ничего не сделало. Не удивительно, поскольку я не настроил свои тесты JUnit для использования Spring ... Может кто-нибудь сказать мне, как это сделать, или указать мне какие-либо хорошие ресурсы, с помощью которых я мог бы собрать необходимую информацию?