【问题标题】:No message body writer found for class : class java.util.HashMap找不到类的消息正文编写器:类 java.util.HashMap
【发布时间】:2014-02-03 18:33:52
【问题描述】:

我正在尝试使用 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);

当我尝试运行上面的 sn-p 时,我得到以下异常:

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

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

【问题讨论】:

    标签: java web-services cxf jax-rs


    【解决方案1】:

    在我看来,您试图将 json 发送到服务器,但实际上发送的是 HashMap?您的消息正文在发送前是否正确转换为 json?

    也许尝试发送纯 json 进行测试

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

    【讨论】:

    • 你是对的。我可以通过发送纯 json 来解决它。我希望你早日给我这个建议,并为我省去了很多麻烦
    猜你喜欢
    • 2023-03-09
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2018-01-26
    • 2016-08-21
    相关资源
    最近更新 更多