原因:dubbo协议不支持InputStream、File对象。
- 方式1-使用hessian协议
- 在消费者(consumer)添加hessian依赖
<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.7</version> </dependency> |
- 在服务提供者(provider)端添加hessian、jetty依赖、添加hessian协议
<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.7</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <version>6.1.26</version> </dependency> |
修改applicationContext-dubbo-provider.xml
默认容器使用jetty,如果指定为serlvet,产生问题:由于当前项目是java project,不是web项目,如果是servlet,当前项目启动会报错。
- 方式3-交inputStream转换为byte[]
- 工具
- 修改消费者(consumer)端
FileUploadController.java
- 修改服务提供者(provider)端
FileUploadServiceImpl.java