Caution: request is not finished yet

invoke:

Dubbo Telnet 调试

invoke执行dubbo方法

某些dubbo版本参数对象需要在json中指定class,明确参数类型  如果没有传入,将会调用失败,相关问题可以参见这个   为什么高版本的dubbo对telnet支持不友好了呢

比如有接口com.jianhao84.service.TestService.test(Person person),Person对象有name和age属性:
情况1:dubbo2.5.3版本,传入以下json字符串就行
{"name":"QQQ","age":18}

情况2:dubbo2.x.x(其他高版本,我也没所有版本都测试,反正就这两种参数方式自己试)需要在json中指定class路径.假设Person类的完整包路径为:com.jianhao84.bean.Person,就需要传入以下json才行
{"name":"QQQ","age":18,"class":"com.jianhao84.bean.Person"}


背景:

请求调用dubbo接口

开发、测试环境正常,部署线上调用界面出现 Caution: request is not finished yet   或许是存在环境配置上的差异  问题可能不在代码   可能是网络问题

处理路线:

查阅服务器日志,注意日志所在位置(扩展:Tomcat日志文件分别存储哪些类型日志)

测试远程服务器是否可以访问:

telnet ip port

若测试通过,ls查看dubbo接口列表

invoke 执行 Dubbo 方法  (可用curl命令拼接请求数据测试前端请求接口)

invoke com.xxx.XxxService.xxxMethod({"key" : "value"})

接口invoke成功,有响应数据   (矛盾点:invoke 接口成功但是前端接口访问失败, 后续联系网络组排查  增加路由问题解决

route add -net 10.XXX.XXX.XXX netmask 255.255.255.0 gw 192.XXX.XXX.XXX 

处理结论:

  • 增加路由配置
  • 可迁移代码  将dubbo接口处理逻辑放在其他正常可以调用的服务器中   未测试  应该是可行的

猜你喜欢

转载自blog.csdn.net/xiangwang2016/article/details/111323355
今日推荐