hession调用json解析异常 com.caucho.hessian.io.HessianProtocolException: expected integer at 0x74 java.util

大家好,我是烤鸭:
    采坑实录,使用hession报错 expected integer at 0x74 java.util.ArrayList。

1.  报错信息如下:


2020-03-18 14:27:48.057 [TID: N/A] [Apollo-RemoteConfigLongPollService-1]  WARN  [class:com.ctrip.framework.apollo.internals.RemoteConfigLongPollService | method:doLongPollingRefresh | line:193] logInfo==> Long polling failed, will retry in 16 seconds. appId: etc-manage-service-apply, cluster: default, namespaces: application, long polling url: null, reason: Get config services failed from http://apollo.meta/services/config?appId=etc-manage-service-apply&ip=192.168.xxx.xxx [Cause: Could not complete get operation [Cause: apollo.meta]]com.caucho.hessian.client.HessianRuntimeException: com.caucho.hessian.io.HessianProtocolException: expected integer at 0x74 java.util.ArrayList ([com.alibaba.fastjson.JSONObject, message, 失败,请求参数错误, status])[M] t [\x00\x1fcom.alibaba.fastjson.JSONObject\x07message\x0b\xe6\xa0\xb8\xe9\x94\x80\xe5\xa4\xb1\xe8\xb4\xa5,\xe8\xaf\xb7\xe6\xb1\x82\xe5\x8f\x82\xe6\x95\xb0\xe9\x94\x99\xe8\xaf\xaf\x06status\x011zz]at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:222)at com.sun.proxy.$Proxy115.changeCardStatus(Unknown Source)at com.etc.bigcar.CouponTest.testChangeCardStatus(CouponTest.java:34)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73)at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83)at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: com.caucho.hessian.io.HessianProtocolException: expected integer at 0x74 java.util.ArrayList ([com.alibaba.fastjson.JSONObject, message, 失败,请求参数错误, status])[M] t [\x00\x1fcom.alibaba.fastjson.JSONObject\x07message\x0b\xe6\xa0\xb8\xe9\x94\x80\xe5\xa4\xb1\xe8\xb4\xa5,\xe8\xaf\xb7\xe6\xb1\x82\xe5\x8f\x82\xe6\x95\xb0\xe9\x94\x99\xe8\xaf\xaf\x06status\x011zz]at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2943)at com.caucho.hessian.io.Hessian2Input.expect(Hessian2Input.java:2880)at com.caucho.hessian.io.Hessian2Input.readInt(Hessian2Input.java:825)at com.caucho.hessian.io.Hessian2Input.readType(Hessian2Input.java:2438)at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1694)at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:207)... 33 more

2.  分析


   这个错误跟服务方无关,可以看到信息已经打印出来了,说明服务方已经返回成功了。是调用方和服务方的版本不一致导致的。
   问了服务提供方的hession版本,换了 3.1.6 和写法,之前没引入 单独的 hessian 包,用的dubbo rpc 的初始化bean 的方式。
   增加依赖。

 <dependency><groupId>com.caucho</groupId><artifactId>hessian</artifactId><version>3.1.6</version></dependency>        
  //原来的bean注入方式import com.googlecode.jsonrpc4j.spring.JsonProxyFactoryBean;//注入jsonrpc@Bean(name = "businessCardService",value = "businessCardService")public JsonProxyFactoryBean customerAccountService() {JsonProxyFactoryBean factory = new JsonProxyFactoryBean();factory.setServiceUrl(bxxxRequestUrl+ BusinessCardService.class.getName());factory.setApplicationContext(applicationContext);factory.setServiceInterface(BusinessCardService.class);return factory;}//新的@Bean(name = "businessCardService", value = "businessCardService")public BusinessCardService businessCardService() {HessianProxyFactory factory = new HessianProxyFactory();BusinessCardService businessCardService = null;try {businessCardService = (BusinessCardService) factory.create(BusinessCardService.class, bxxxRequestUrl + BusinessCardService.class.getName());} catch (MalformedURLException e) {e.printStackTrace();}return businessCardService;}


 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 移动端的布局用过媒体查询吗?写出例子看看

[css] 移动端的布局用过媒体查询吗&#xff1f;写出例子看看 media [type] and [condition] … not [condition] {… } media [condition] and/or/not [condition] … {… }其中&#xff1a;type "all" | "print" | "screen" | "speech&q…

Java通过cal.get(Calendar.MONTH)比真实月份少一个月

Calendar cal Calendar.getInstance();假如当前是12月&#xff0c;cal.get(cal.MONTH)是11月。 转载于:https://www.cnblogs.com/zhaogaojian/p/10050884.html

PMP读书笔记(第1章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第一章 引论1.1 概述指南和目的1.1.1 项目管理标准1.1.2 通用词汇1.1.3 道德与专业行为规范1.2 概述指南和目的1.2.1 项目1.2.2 项目管理的重要性1.2.3 项目、项目集、项目组合以及运营管理之间的关…

数据结构实验之图论六:村村通公路【Prim算法】(SDUT 3362)

题解&#xff1a;选点&#xff0c;选最小权的边&#xff0c;更新点权。可以手动自行找一遍怎么找到这个最小的生成树&#xff0c;随便选一个点放入我们选的集合中&#xff0c;然后看和这个点相连的点中&#xff0c;与那个点相连的那条边权值是最小的&#xff0c;选择之后&#…

[css] CSS的伪类和伪对象有什么不同?

[css] CSS的伪类和伪对象有什么不同&#xff1f; 伪类是给当前选中节点添加新样式&#xff0c; 伪对象是给当前选中节点添加伪元素。 伪类选择器使用&#xff1a;&#xff0c;伪对象选择器使用&#xff1a;&#xff1a;&#xff0c;因为兼容旧版&#xff0c;所以伪对象使用&am…

PMP读书笔记(第2章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第二章 项目运行环境2.1 概述2.2 事业环境因素2.2.1 组织内部的事业环境因素2.2.2 组织外部的事业环境因素2.3 组织过程资产2.3.1 过程、政策和程序2.3.2 组织知识库2.4 组织系统2.4.1 概述2.4.2 组…

[css] CSS的overflow属性定义溢出元素内容区的内容会如何处理呢

[css] CSS的overflow属性定义溢出元素内容区的内容会如何处理呢 visible&#xff08;默认值&#xff09;&#xff1a;溢出的内容会照常显示在元素内容区之外&#xff1b;hidden&#xff1a;溢出的内容会被裁剪&#xff1b;scroll&#xff1a;溢出的内容会出现在滚动区&#xff…

do文件的编写(转)

以前在使用ModelSim进行仿真的时候&#xff0c;一直是使用其GUI进行操作的&#xff0c;但是这样很繁琐也很费时。故希望学习其自动化仿真do文件&#xff0c;下面是学习的一些总结。 一、编写基本的do文件 下面按照实际仿真的步骤来说明do文件中需要用到的各个tcl命令。 1、quit…

PMP读书笔记(第3章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第三章 项目经理的角色3.1 概述3.2 项目经理的定义3.3 项目经理的影响力范围3.3.1 概述3.3.2 项目3.3.3 组织3.3.4 行业3.3.5 专业学科3.3.6 跨领域3.4 项目经理的能力3.4.1 概述3.4.2 技术项目管理…

PMP读书笔记(第4章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第四章 项目整合管理概述项目整合管理的核心概念项目整合管理的发展趋势和新兴实践裁剪时需要考虑的因素在敏捷或适应型环境中需要考虑的因素4.1 制定项目章程4.1.1 制定项目章程&#xff1a;输入4.…

[css] 外层有一个自适应高度的div,里面有两个div,一个高度固定300px,另一个怎么填满剩余的高度?

[css] 外层有一个自适应高度的div&#xff0c;里面有两个div&#xff0c;一个高度固定300px&#xff0c;另一个怎么填满剩余的高度&#xff1f; 可以设置外层自适应高度的容器为flex布局&#xff0c;利用flex-basis属性即可实现自动填满剩余高度&#xff1b;代码如下&#xff…

vue之watch用法

watch是一个对象&#xff0c;键是需要观察的表达式&#xff0c;值是对应回调函数。值也可以是方法名&#xff0c;或者包含选项的对象 watch:{ //属性     msg: function(newVal,oldVal){console.log(oldVal改变成newVal)},  //函数msg1(newVal,oldVal){console.log(oldV…

PMP读书笔记(第5章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第五章 项目范围管理项目范围管理项目范围管理的核心概念项目范围管理的发展趋势和新兴实践裁剪时需要考虑的因素在敏捷或适应型环境中需要考虑的因素5.1 规划范围管理5.1.1 规划范围管理&#xff1…

[css] 说说你对CSS样式覆盖规则的理解

[css] 说说你对CSS样式覆盖规则的理解 1.选择器的权重覆盖&#xff1b; 2.相同选择器的顺序覆盖&#xff1b; 3.行内样式>内联样式>外联样式个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主…

特殊符号作用

单引号&#xff1a;保留括起的所有字符的字面值。取消多个字符的特殊含义双引号&#xff1a;$、反引号&#xff08;可替换成$()&#xff09;、反斜杠特殊含义保留下来&#xff0c;而其他特殊符号只保留字面值。取消多个字符的特殊含义\作为转义字符&#xff0c;仅取消单个字符的…

[css] 写出几个初始化CSS的样式,并解释说明为什么要这样写

[css] 写出几个初始化CSS的样式&#xff0c;并解释说明为什么要这样写 padding:0; margin:0;为了解决各个浏览器显示不一样的问题个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起…

php中foreach循环遍历二维数组

最近在用tp3.2框架&#xff0c;在查询的时候用到了select()&#xff0c;这条语句返回的是二维数组&#xff0c;所以在对返回的数据做处理时&#xff0c;遇到了些麻烦&#xff0c;百度了下foreach&#xff0c;终于用foreach解决了数据的筛选问题 &#xff08;因为不知道该怎么设…

PMP读书笔记(第6章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第六章 项目进度管理项目进度管理项目进度管理的核心概念项目进度管理的发展趋势和新兴实践裁剪考虑因素关于敏捷/适应型环境的考虑因素6.1 规划进度管理6.1.1 规划进度管理&#xff1a;输入6.1.1.1…

[css] display有哪些值?分别说明他们的作用是什么?

[css] display有哪些值&#xff1f;分别说明他们的作用是什么&#xff1f; display:block/inline-block 给元素转块/转行内块 display:inline 把元素转成内联元素&#xff08;我很少用到&#xff09; display:none让元素消失&#xff0c;不显示 display:flex弹性布局 我常用的…

connect ECONNREFUSED 151.101.0.133:443 | spawn xxx ENOENT

大家好&#xff1a; 我是烤鸭&#xff0c;今天分享一个node项目打包失败的问题。 1. 问题复现 之前一直出现node项目打包失败的情况&#xff0c;使用测试环境的jenkins没问题&#xff0c;生产的有问题。基本可以排除代码层面的问题。 报错信息如图。另外说一下出现了 con…