1

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

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

执行 GET 时的错误消息:

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

此错误由 JAXRSOut 拦截器类触发

发帖时的错误是:

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

此错误由 JAXRSUtils 类触发

  • 谢谢
4

2 回答 2

1

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

conf/system.properties

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

我丢弃的罐子:

  • 杰克逊-映射器-asl-1.9.9.jar
  • 杰克逊核心asl-1.9.9.jar
  • 杰克逊-jaxrs-1.9.9
于 2012-08-28T16:00:36.663 回答
0

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

于 2012-08-28T09:31:31.800 回答