我正在尝试使用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.
我不知道我的方法出了什么问题。谢谢你的任何建议。
答案 0 :(得分:3)
对我来说,就像你试图将json发送到服务器但实际上发送HashMap一样?您的邮件正文在发送之前是否正确转换为json?
也许尝试发送普通json进行测试
plainAddClient.accept("application/json")
.type("application/json")
.post({"email":"sample@gmail.com"})