Spring + Hessian 入门
Hessian是一个优秀的二进制远程过程调用框架,那么学习一下。
写了个Hello World,感觉还好,集成到Spring中没有发生过多的变化,顶多就是配置几个bean,然而就是跑不成功,折腾了几个小时,发生了PageNotFound错误,好,我去看看url mapping的配置,不管是使用默认的bean name url映射,还是明确指定都出现那个错误,现在想想主要的原因是没有手动mvn clean package,对于这个问题,我将刻骨铭心。
今天重新审视这个小小的demo,遇到了新的错误。server端没有报出错信息,client访问该服务的URL的时候垮了, java.io.IOException: Server returned HTTP response code: 500 for URL。
1 | Exception in thread "main" org.springframework.remoting.RemoteConnectFailureException: Cannot connect to Hessian remote service at [http://localhost:8080/hessian/remote/helloService.htm]; nested exception is com.caucho.hessian.client.HessianConnectionException: 500: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/hessian/remote/helloService.htm |
但是server没有错啊,而且通过浏览器访问至少是有效果的。
然后Google了一些,说道移除spring remoting依赖。好吧,果真凑效,那么内部到底是为何呢?
示例代码 hello-hessian-spring, hello-hessian-spring-client
参阅:
HessianConnectionException: (HTTP) 500 error when using Hessian 4.0.7 & Spring 3.1.1