java - 找不到类 : class java. util.HashMap 的消息正文编写器

标签 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.

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

最佳答案

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

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

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

关于java - 找不到类 : class java. util.HashMap 的消息正文编写器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21534965/

相关文章:

java - 如何从 RecyclerView 获取值以详细了解 Activity

java - 如何在 Apache CXF JAX-WS 中阻止 HTTP 请求

java - CXF 的 JAXB 模式验证错误 - 发生 JAXBException : cvc-elt. 1:找不到元素的声明

WCF 方法调用了两次

.net - SQL Server 作为 Web 服务客户端

json - 为什么Apache CXF将String错误地转换为JSON?

java - 为什么我需要在转换为字节之前将 Float 转换为 float ?

java:8 个皇后使用深度优先搜索

java - 如何设置ViewingPlatform和更新TransformGroup?

java - Spring @ComponentScan 注释不起作用