1:当使用 cxf 发布服务时,要求返回值类型为xml,或者json等

    @Path("/searchProductByText")
@GET
@Produces({"application/xml", "application/json"})
JSONObject productSearch(@QueryParam("text") String text);

但是 cxf不支持解析  JSONObject 等对象

进行访问时将会返回    No message body writer has been found for class com.alibaba.fastjson.JSONObject, ContentType: */*

2:解决方法,定义一个pojo,里面包含 JSONObject  引用。将返回的JSONObject包含在 自定义的 POJO中,使用注解将pojo定义为能被解析为xml形式等。

package com.search.pojo;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonInclude; import javax.xml.bind.annotation.XmlRootElement; //@JsonInclude(JsonInclude.Include.NON_NULL)//不包含有null值的字段,即字段值为null的转换为json字符串时会被省略
@XmlRootElement(name="MyJSONObject")
public class MyJSONObject {
JSONObject jsonObject; public JSONObject getJsonObject() {
return jsonObject;
} public void setJsonObject(JSONObject jsonObject) {
this.jsonObject = jsonObject;
}
}

3:在实现类中,返回对象变为 pojo

       MyJSONObject myJSONObject=new MyJSONObject();
myJSONObject.setJsonObject(jsonObject);
return myJSONObject;

4:接口 方法 返回 也变为 pojo

    @Path("/searchProductByText")
@GET
@Produces({"application/xml", "application/json"})
MyJSONObject productSearch(@QueryParam("text") String text);

5  可以返回值了。

6:前端接到响应体中的xml,可以转化为json

            httpResponse = httpUtil.HttpGet(requestParamMap, url);
HttpEntity entity = httpResponse.getEntity();
String s = EntityUtils.toString(entity);
//将返回的xml字符串形式转化为json格式
org.json.JSONObject xmlJSONObj = XML.toJSONObject(s);
jsonObject = (JSONObject) JSON.parse(xmlJSONObj.toString());

No message body writer has been found for class com.alibaba.fastjson.JSONObject, ContentType: */*的更多相关文章

  1. webservice接口问题:Payload: No message body writer has been found for class domain, ContentType: application/xml

    当在使用cxf-rs的webservice的时候,有时候在传输数据,会发生这种错误 错误代码: Response-Code: 500 Content-Type: text/plain Headers: ...

  2. cxf maven 依赖 No message body writer foud.. contenttype:application/json

    最近使用cxf发布rest服务时遇到了如题的异常,最后发现是缺少依赖的问题.ps:我并没有使用spring cxf基本运行需要如下依赖 1 <dependency> <groupId ...

  3. SpringBoot之KindEditor文件上传

    后端核心代码如下: package com.blog.springboot.controller; import java.io.BufferedOutputStream; import java.i ...

  4. java 微信开发的工具类WeChatUtils

    import com.alibaba.fastjson.JSONObject;import com.bhudy.entity.BhudyPlugin;import com.bhudy.service. ...

  5. 【学习】014 深入理解Http协议

    Http协议入门 什么是http协议 http协议: 对浏览器客户端 和  服务器端 之间数据传输的格式规范 查看http协议的工具 1)使用火狐的firebug插件(右键->firebug-& ...

  6. Dubbo入门到精通学习笔记(八):ActiveMQ的安装与使用(单节点)、Redis的安装与使用(单节点)、FastDFS分布式文件系统的安装与使用(单节点)

    文章目录 ActiveMQ的安装与使用(单节点) 安装(单节点) 使用 目录结构 edu-common-parent edu-demo-mqproducer edu-demo-mqconsumer 测 ...

  7. hive数据仓库入门到实战及面试

    第一章.hive入门 一.hive入门手册 1.什么是数据仓库 1.1数据仓库概念 对历史数据变化的统计,从而支撑企业的决策.比如:某个商品最近一个月的销量,预判下个月应该销售多少,从而补充多少货源. ...

  8. J2EE项目开发中常用到的公共方法

    在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单.服务器|网络设备重启工单.服务器光纤网线更换工单.网络设备撤线布线工单.服务器|网络设备替换工单.服务器|网络设备RMA工单.通用原 ...

  9. HttpClient相关

    HTTPClient的主页是http://jakarta.apache.org/commons/httpclient/,你可以在这里得到关于HttpClient更加详细的信息 HttpClient入门 ...

随机推荐

  1. Linux下的XAMPP基本配置技巧(设置虚拟主机、添加FTP账户等)

    xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围, ...

  2. WP8.1学习系列(第十七章)——交互UX之输入和反馈模式

    如果你将 Windows 应用商店应用设计为触摸交互,则可免费获取对触摸板.鼠标.笔和键盘交互的支持.你的用户可以从一种输入法切换到另一种,而不会丧失应用体验的感觉.将键盘插入平板电脑?没问题.你的应 ...

  3. 使用Phoenix通过sql语句更新操作hbase数据

    hbase 提供很方便的shell脚本,可以对数据表进行 CURD 操作,但是毕竟是有一定的学习成本的,基本上对于开发来讲,sql 语句都是看家本领,那么,有没有一种方法可以把 sql 语句转换成 h ...

  4. 【线程】Volatile关键字

    Volatile变量具有 synchronized 的可见性特性,但是不具备原子特性.这就是说线程能够自动发现 volatile变量的最新值.Volatile变量可用于提供线程安全,但是只能应用于非常 ...

  5. Linux命令 dmesg:分析内核产生的信息

    案例一 输出所有的内核开机时的信息 zh@zh:~$dmesg | more 案例二 查找开机的时候硬盘的相关信息

  6. sencha touch 隐藏滚动条样式的几种方式

    如图,当滚动条显示时不是那么的好看   可以通过以下几种方式来隐藏滚动条,而又不影响滚动效果 1.通过css隐藏 /* 隐藏x方向滚动条 */ .x-scroll-bar-x.active { wid ...

  7. RedHat 简易配置 VNC Server 与VNC View详细说明

    首先下载Linux版本的VNC文件. 下载地址:http://www.realvnc.com/download/vnc/ 如:VNC-5.0.2-Linux-x86-RPM.tar.gz(其实解压出来 ...

  8. POJ 1117 Pairs of Integers

    Pairs of Integers Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4133 Accepted: 1062 Des ...

  9. 跟bWAPP学WEB安全(PHP代码)--OS命令注入

    背景 这是温故知新的一个系列,也是重新拾起WEB安全的一个系列,同时希望能稍微有点对初学者的帮助.第一篇先来讲讲OS命令注入 bWAPP里面有两个页面也就是两个漏洞,来验证OS命令注入.一个是有回显的 ...

  10. 一键用VS编译脚本

    set MSBUILD_PATH="C:\Program Files (x86)\MSBuild\12.0\Bin\MsBuild.exe" set ZIP_TOOL=" ...