hessian 使用異常處理

版本:spring 3.2 +hessian4.0.37java

異常一:hessian 只能使用post調用!web

HTTP Status 405 - HessianServiceExporter only supports POST requests


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的安全問題。不知道你們是則麼解決的。

相關文章
相關標籤/搜索