如何在ApacheTomee-plus中使用JAX-RS设置JSON的读写提供程序



我可以从Pojo返回简单文本,但当我改为返回JSON时,它失败了。我的方法中有正确的products和consumps注释,并且我检查了Jquery和服务器之间的内容协商是否正确。

似乎是转换为JSON失败了。我在webapps/tome/lib中复制了杰克逊罐子。我还尝试了应用程序的lib文件夹。

执行GET时的错误消息:

No message body writer has been found for response class <myClass>

此错误由JAXRSOut Intercepter类引发

发帖时的错误是:

No message body reader has been found for request class <myClass>

此错误由JAXRSUtils类引发

  • 谢谢

我通过在TomEE的conf/system.properties文件中列出JAX-RS提供程序来完成这项工作。然后我将jar添加到TomEE的lib文件夹中。网站上的文档指出,应该把罐子放在webapp/tomee/lib上,但这对我不起作用

conf/system.properties

openejb.cxf.jax-rs.providers = org.codehaus.jackson.jaxrs.JacksonJsonProvider, org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider 

我扔下的罐子:

  • jackson-mapper-as-1.9.9.jar
  • jackson-core-as-1.9.9.jar
  • 千斤顶-轴-19.9

如果您使用jersey,您可以尝试Genson库http://code.google.com/p/genson/.最新版本0.92提供了使用jersey的jax-rs web服务中json支持的自动检测。你只需要放下罐子,瞧!:)

最新更新