6
我有一个简单的服务,它使用JAX-RS注释进行注释,并包含@Produces("application/json")
注释。我已经设置了以下属性,当我注册服务(我使用DS但这不应该的问题):使用CXF从RESTful服务返回JSON DOSGI
service.exported.interfaces -> *
service.exported.configs -> org.apache.cxf.rs
org.apache.cxf.rs.address -> myURI
当我运行我的应用程序可以打的网址,但我的浏览器返回:
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.
我读了documentation,也许认为我需要注册一个JSON提供商。我可能在Activator中添加了:
bundleContext.registerService(new String[] { "javax.ws.rs.ext.MessageBodyReader",
"javax.ws.rs.ext.MessageBodyWriter" },
new org.apache.cxf.jaxrs.provider.JSONProvider(), null);
但是这没有什么区别。
如何解决“找不到响应类MyClass的消息正文写入器”。错误信息?
糟糕,默认是Jettison,不是杰克逊,但它是一样的 JAXB ... – 2012-08-24 02:54:06