报错信息:
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
等
此处仅仅记录我在项目中遇到的问题。