telnet调用Dubbo接口的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了telnet调用Dubbo接口的坑相关的知识,希望对你有一定的参考价值。

参考技术A 通过telnet命令,去调⽤使用了dubbo框架的查询订单接口,一直调用出错, 查询后台⽇志,发现uAccount字段没有传递过去,为null。

通过telnet命令调用的dubbo接口,会在InvokeTelnetHandler将json字符串转换为对应的请求参数对象,在95行中,通过PojoUtils.realize()方法进行转换。

在PojoUtils中,主要是通过realize0这个方法进行反序列化,在438和439来获取属性的set方法或者直接获取这个属性,然后在下面调用反射调用set方法或者直接通过反射赋值。

获取set方法的时候,把set紧跟的这个字符转换成了大写,也就是setUAccount,咱们通过idea自动生成get/set方法,像这种类型(小写开头,紧跟大写字母)产生的get/set后面紧跟的第一个字母都是小写字母,所以就获取不到set方法了。

getField方法中,由于咱们设置的属性一般都private属性的,所有这里通过class.getField()和class.getFields()都获取不到。

通过dubbo接口调用时,会通过序列化组件将请求对象通过指定的协议(默认hessian2)转换为二进制,此方式转化时不会出现以上问题。

命令行调用dubbo远程服务

命令行调用dubbo远程服务

学习了:https://www.cnblogs.com/rwxwsblog/p/6367251.html

先telnet  IP port

然后再ls

然后再 invoke class.Method(param)

学习了: https://blog.csdn.net/u011734144/article/details/53068480

还有count,status命令;

 学习了:https://www.cnblogs.com/feiqihang/p/4387330.html  这个猛

找到官网链接:http://alibaba.github.io/dubbo-doc-static/Telnet+Command+Reference-zh-showComments=true&showCommentArea=true.htm

可以使用help进行帮助的查看;

ps, pwd, cd, log, status, trace等命令;

对于数组可以使用[{"a":1}]来进行模拟;

 

以上是关于telnet调用Dubbo接口的坑的主要内容,如果未能解决你的问题,请参考以下文章

开源一款超实用的 Dubbo 测试工具,已用半年,感觉很有feel~

开源一款超实用的 Dubbo 测试工具,已用半年,感觉很有feel~

dubbo异步调用的坑

Dubbo接口测试Dubbo接口调用Jmeter调用Dubbo接口,Jmeter测试Dubbo接口

Dubbo接口测试Dubbo接口调用Jmeter调用Dubbo接口,Jmeter测试Dubbo接口

命令行调用dubbo远程服务