没有为类找到消息正文编写器:类java.util.HashMap

时间:2014-02-03 18:33:53

标签: java web-services cxf jax-rs

我正在尝试使用JAXRS端点。这是我试图让它发挥作用。

Map<String, String> variables = new HashMap<String, String>();
variables.put("email", "sample@gmail.com");     
List<Object> providers = new ArrayList<Object>();
JSONProvider provider = new JSONProvider();
provider.setNamespaceMap(variables);
providers.add(provider);

WebClient plainAddClient = WebClient.create("http://hostname:portnumber/cxf/jaxrs/EmailService/subscriber/update", providers);
plainAddClient.accept("application/json").type("application/json").post(variables);

当我尝试运行上面的代码段时,我得到以下异常:

org.apache.cxf.jaxrs.client.AbstractClient.reportNoMessageHandler(AbstractClient.java:486) - .No message body writer found for class : class java.util.HashMap.

我不知道我的方法出了什么问题。谢谢你的任何建议。

1 个答案:

答案 0 :(得分:3)

对我来说,就像你试图将json发送到服务器但实际上发送HashMap一样?您的邮件正文在发送之前是否正确转换为json?

也许尝试发送普通json进行测试

plainAddClient.accept("application/json")
 .type("application/json")
 .post({"email":"sample@gmail.com"})