Возврат JSON из RESTful сервиса с помощью CXF DOSGI

У меня есть простой сервис, который аннотирован аннотациями JAX-RS и включает аннотацию @Produces("application/json"). Я установил следующие свойства при регистрации сервиса (я использую DS, но это не должно иметь значения):

service.exported.interfaces -> *
service.exported.configs    -> org.apache.cxf.rs
org.apache.cxf.rs.address   -> myURI

Когда я запускаю свое приложение, я могу перейти по URL, но браузер возвращает:

No message body writer has been found for response class MyClass.

Моя консоль OSGi показывает:

Jan 11, 2012 2:29:48 PM org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor writeResponseErrorMessage
WARNING: No message body writer has been found for response class MyClass.

Я прочитал документацию и подумал, что, возможно, мне нужно зарегистрировать JSON-провайдер. В may Activator я добавил:

bundleContext.registerService(new String[] { "javax.ws.rs.ext.MessageBodyReader",
    "javax.ws.rs.ext.MessageBodyWriter" },
    new org.apache.cxf.jaxrs.provider.JSONProvider(), null);

но это ничего не изменило.

Как исправить сообщение об ошибке "Не найден писатель тела сообщения для класса ответа MyClass."?

6
задан David J. Liszewski 24 January 2012 в 04:06
поделиться