版本:spring 3.2 +hessian4.0.37java
異常一:hessian 只能使用post調用!web
type Status reportspring
message HessianServiceExporter only supports POST requestsapi
description The specified HTTP method is not allowed for the requested resource.安全
源碼:com.caucho.hessian.server.HessianServletpost
異常二:既然不能使用get那就咋就不用了,使用google postman 選擇post 異常又出現了google
SEVERE: Servlet.service() for servlet [hessian] in context with path [/lespms] threw exception [Hessian skeleton invocation failed; nested exception is java.io.IOException: Expected 'H'/'C' (Hessian 2.0) or 'c' (Hessian 1.0) in hessian input at -1] with root cause
java.io.IOException: Expected 'H'/'C' (Hessian 2.0) or 'c' (Hessian 1.0) in hessian input at -1url
求助度娘 google 都沒有找到緣由,有知道的大神指導一下小弟spa
後來看到源碼:org.springframework.remoting.caucho.HessianExporter(spring-web 包下)server
這段代碼應該是判斷客戶端調用hessian的版本的,看來也不是隨便一個post就能夠調用,寫了一個demo 在程序裏面調用,而後就ok 了。
String url = "http://localhost:8080/xxx/hessian/hello";
HessianProxyFactory factory = new HessianProxyFactory();
Hello api = (Hello) factory.create(Hello.class, url);
api.sayHello();
固然 客戶端的調用也能夠集成到spring。還有一點的就是hessian的安全問題。不知道你們是則麼解決的。