dubbo三种invoke_dubbo常见报错:Failed to invoke the method in the service Tried 3 times of the providers的解决...

报错信息:

Failed to invoke the method uploadCheckPayments in the service com.dxl.payment.service.payment.ITrepaymentService. Tried 3 times of the providers

解释:

uploadCheckPayments  方法的参数传递错误。ITrepaymentService此接口尝试了3次请求

一般此问题是参数传递错误

想要调用dubbo项目的方法,传递的参数必须实例化

一、如果你传递的是实体对象,那么实体实现序列化 implements Serializable

如下

package com.dxl.payment.model.payment;

import com.dxl.payment.model.common.BasePojo;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.Table;

import java.io.Serializable;

@Table(name="t_autocheck_template")

public class AutoCheckTemplate extends BasePojo implements Serializable{

@Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

private Integer id;//

private String bankcode;//

private String bankname;

private String biztype;//

private String bizname;

private Integer colno;//

private String template;//

private String templatename;//

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getBankcode() {

return bankcode;

}

public void setBankcode(String bankcode) {

this.bankcode = bankcode;

}

public String getBiztype() {

return biztype;

}

public void setBiztype(String biztype) {

this.biztype = biztype;

}

public Integer getColno() {

return colno;

}

public void setColno(Integer colno) {

this.colno = colno;

}

public String getTemplate() {

return template;

}

public void setTemplate(String template) {

this.template = template;

}

public String getTemplatename() {

return templatename;

}

public void setTemplatename(String templatename) {

this.templatename = templatename;

}

public String getBankname() {

return bankname;

}

public void setBankname(String bankname) {

this.bankname = bankname;

}

public String getBizname() {

return bizname;

}

public void setBizname(String bizname) {

this.bizname = bizname;

}

}

二、java中的基本类型都是已经实现序列化的,例如Integer ,String,int,等类型的参数不会报此错误

三、要传递list和map类型的参数,

List对象中实现序列化的是ArrayList 用ArrayList的参数可以但是其中的泛型  T是基本类型的

如果是这种

List files = newArrayList<>();

此list就不能被序列化 传递这种参数给dubbo的接口会报参数无法被序列化的错误

四、一般不能被序列化的有。

HttpServletRequest request

HttpSessionsession

MultipartFile

此处仅仅记录我在项目中遇到的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值