dubbo无法序列化HttpServletRequest问题

dubbo接口中有这样一个方法public Map uploadIdImage(HttpServletRequest request)

启动项目调用该接口后报错

nested exception is com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote method: uploadIdImage,
java.lang.IllegalStateException: Serialized class org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest must implement java.io.Serializable

能看出来是无法反序列化的问题 ,如何能在接口实现类中得到HttpServletRequest 这个对象,正确调用方法。请教大虾,感激不尽

7个回答

应该是要换一个参数,比如用HashMap,把request中需要用到的值存入map

public Map uploadIdImage(HashMap map)

qq_35147722
qq_35147722 我要用httpsession咋办
接近 2 年之前 回复
kusejiubei
kusejiubei 回复daochuwenziyao: 我现在也要上传文件,dubbo传递文件流,怎么做的呢
2 年多之前 回复
daochuwenziyao
daochuwenziyao 这位仁兄说的没错,但是我是需要获取文件列表,// 转型为MultipartHttpRequest MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request; List<MultipartFile> fileList = multipartRequest.getFiles("file"); 虽然用不上,但是其他朋友这个方法可行
2 年多之前 回复

楼主解决了吗,我也遇到这个问题了

楼主解决了吗,我也遇到这个问题了

daochuwenziyao
daochuwenziyao 没有解决,后面是将这个方法单独打成一个项目依赖的包了,这样其他项目用的时候就直接打包。
接近 3 年之前 回复

楼主解决了吗,我也遇到这个问题了

今天我也遇到这个问题了,差了下资料,HttpServletRequest无法被序列化,所以如果需要,就把request里面的参数取出来,用可序列化的对象传输,例如
自定义一个对象做接收,也是初次使用dubbo 好多东西不懂,一步一个坑啊

daochuwenziyao
daochuwenziyao 谢谢你的回答,但是前面有人先回复了,只能采纳一个
2 年多之前 回复

解决了,不能传servletrequest。先处理数据成treemap再传递的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐