今天在写一个简单的Hession小demo程序时,接口访问在服务层完全没有问题,但是通过另外一个模拟客户端程序去调用此服务时总是报com.caucho.hessian.io.HessianProtocolException: uploadFile: expected string at 0xff (?) 错误,在网上查了好多有说是客户端Hession版本与服务端版本不一致,Hession版本过高的都试过了,总是不行。也有说是因为Hession远程不支持方法重载,但是我程序就没有其他同名方法。最后我尝试各种方法,在我把参数位置对调后。程序成功执行了。具体原因目前也不清楚,先记录下。也许就是这不支持重载导致的。
后知原来
hessian要求inputstream 参数只能是参数列表中的最后一个