Dubbo invoke时提示No such method...异常

日常开发中我们需要通过dubbo的telnet方式调用接口进行测试代码.

如果遇到No such method…异常, 其实并不是说没有这个方法,除非你真的把你调用的方法名写错了(一般人干不出来), 而是99%可能是你的方法入参不对.

一般非对象的入参不会出错, 类似

void addUserInfo(String name, int year)

telnet调用如下
invoke UserInfoFacade.addUserInfo(“阿苏”, 2017)

多半出错的问题是入参中有对象的情况
举例如下

package con.infuq;

public class Person {
    private String address;
}

public class Request {
    private int id;
}

public interface UserInfoFacade {
	List<UserInfoDO> addUserInfo(Person person);
    List<UserInfoDO> addUserInfo(Person person, Request req);
}

对于第一个方法,有一个参数,通过telnet调用的写法如下
invoke UserInfoFacade.addUserInfo({“class”:“com.infuq.Person”,“address”:“天津市”})

对于第二个方法,有两个参数,通过telnet调用的写法如下
invoke UserInfoFacade.addUserInfo({“class”:“com.infuq.Person”,“address”:“天津市”},{“class”:“com.infuq.Request”,“id”:456})

总结
如果入参中有对象, 每个对象都需要使用一个{“class”:“x.y.z.Object”}类似这样的东东表示, 记得哦, 是一个对象对应一个{}, 如上面的举例, 两个入参对象就需要使用两个{}表示.


个人网站

微信公众号

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值