关于ActiveMQ的编码与List问题

最近在做JMS,用Apache的ActiveMQ作为消息中间件,出现了两个问题:
1、服务端返回值中存在中文时,就报错,如下:Exception in thread "main" org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte 0xd5 (at char #233, byte #127)
针对该问题,网上有人说“调用接口的文件的编码方式不是UTF-8格式”,但是还是不知道怎么改正。
2、当服务端放回为为List时,报错如下:javax.xml.bind.JAXBException: java.util.List is not known to this context
该问题都不知道是什么原因。

请各问大神帮忙解决一下,谢谢!

1个回答

第一个问题,应该是JMS只支持UTF-8的,你要把你的GBK转为UTF-8来传输
第二个问题,可以通过加一个封装层来解决,例如

@XmlRootElement(name = "employees")
@XmlAccessorType (XmlAccessType.FIELD)
public class Employees
{
    @XmlElement(name = "employee")
    private List<Employee> employees = null;

    public List<Employee> getEmployees() {
        return employees;
    }

    public void setEmployees(List<Employee> employees) {
        this.employees = employees;
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐