gpt4 book ai didi

java - 找不到消息正文编写器 : JSON : Apache CXF : RestFul Webservices

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:16 26 4
gpt4 key购买 nike

我正在使用 Apache CXF 制作一个简单的 Restful 应用程序。我有一个客户端类,它向服务器发送一个 JSON 对象,服务器在一些操作后返回一个 JSON。但是当我执行代码时,我得到了

"org.apache.cxf.interceptor.Fault: .No message body writer has been found for class:           
class org.codehaus.jettison.json.JSONObject, ContentType : application/json."

我的客户端代码:

public class Client {
public static void main(String[] args) {

try{

URI uri = new URI("http://localhost:8022/RestDemo");

WebClient client = WebClient.create(uri);

String ret = client.path("rest").path("server").path("welcome").accept(MediaType.TEXT_PLAIN).get(String.class);

System.out.println(ret);

JSONObject json = new JSONObject();
json.put("name", "ronaldo");
json = client.path("rest").path("server").path("op").type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).post(json, JSONObject.class);
System.out.println(json);
System.out.println(json.has("reverse")?json.getString("reverse"):"dont have");


}catch(Exception e){
System.out.println("e"+e.getLocalizedMessage());
e.printStackTrace();
}
}
}

请帮忙。

最佳答案

我有同样的问题,我正在使用 CXF 2.7。 org.apache.cxf.jaxrs.provider.JSONProvider 已更改为 org.apache.cxf.jaxrs.provider.json.JSONProvider

所以 jaxrs 提供者是:

<jaxrs:providers>
<bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="dropRootElement" value="true" />
<property name="supportUnwrapped" value="true" />
</bean>
</jaxrs:providers>

关于java - 找不到消息正文编写器 : JSON : Apache CXF : RestFul Webservices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com