困扰了好几天的一个问题,今天终于解决。果然又是这种版本的冲突。
基于hessian的远程调用,在spring+struts的web工程情况下怎么都报错,而在单独用应用程序mian函数跑的时候没有问题。换了好多spring和struts的版本组合,还是有问题。
报错信息:com.caucho.hessian.io.HessianProtocolException: expected integer at 0x36
一步一步分解,除去spring先,让页面+struts在action里面写入相同代码测试,有问题。
在剥离出struts,只用servlet来写,同样还是有问题。
分析: 只有一种可能了,resin这类应用服务器的事情,毕竟纯java程序可以跑过。hessian 3.1.6,当前使用的resin版本为3.1.9,网上下载更老的版本pro-3.0.28,重新发布启动后解决。
本文记录了解决Hessian远程调用在Spring+Struts项目中出现的错误过程。通过排除Spring和Struts版本冲突的可能性,最终定位到Resin应用服务器版本的问题,并通过更换Resin版本成功解决。
1163

被折叠的 条评论
为什么被折叠?



