我有一个简单的服务,它使用 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 的消息正文编写器”。错误信息?