关于Java中使用hessian-3.0.20调用远程服务连接出错异常try catch无法捕捉的问题处理
2017-08-08 16:11
1061 查看
有调用hessian服务的页面报个500异常,但是控制层的try catch块却捕捉不到任何异常信息,try块中的代码运行出错后就直接中断执行其它代码了,包括catch块,但控制台报了个CalssNotFoundException,于是根据控制台信息,顺藤摸瓜,
首先是从HessianProxyFactoryBean入手,次类在spring-web-3.1.1.RELEASE.jar中,解压jar包,使用反编译工具JavaDecompiler打开HessianProxyFactoryBean.class文件,从继承的父类HessianClientInterceptor中可以看到控制台所引用的异常信息HessianConnectionException,从引入的HessianProxyFactory可以看出,二者应该是在同一个jar包的同一个文件夹下,找到hessian-3.0.20.jar并解压,果然可以找到HessianProxyFactory的,却唯独没有HessianConnectionException及HessianException两个文件,于是在网上找了个高版本的hessian-4.0.20.jar并解压,果不其然,问题找到:spring-web-3.1.1.RELEASE.jar中引用较高的hessian
jar包,而低版本的jar包缺少相关的异常文件,于是把高版本中的两个异常文件拷贝到低版本对应的文件夹下(因高版本下,与服务端对接数据传递存在兼容性问题,故使用低版本的hessian),重新打包hessian-3.0.20.jar,可以使用压缩工具,后缀名要改,或者使用java命令打包,重启服务,catch块捕捉到:RemoteAccessException,大功告成!
首先是从HessianProxyFactoryBean入手,次类在spring-web-3.1.1.RELEASE.jar中,解压jar包,使用反编译工具JavaDecompiler打开HessianProxyFactoryBean.class文件,从继承的父类HessianClientInterceptor中可以看到控制台所引用的异常信息HessianConnectionException,从引入的HessianProxyFactory可以看出,二者应该是在同一个jar包的同一个文件夹下,找到hessian-3.0.20.jar并解压,果然可以找到HessianProxyFactory的,却唯独没有HessianConnectionException及HessianException两个文件,于是在网上找了个高版本的hessian-4.0.20.jar并解压,果不其然,问题找到:spring-web-3.1.1.RELEASE.jar中引用较高的hessian
jar包,而低版本的jar包缺少相关的异常文件,于是把高版本中的两个异常文件拷贝到低版本对应的文件夹下(因高版本下,与服务端对接数据传递存在兼容性问题,故使用低版本的hessian),重新打包hessian-3.0.20.jar,可以使用压缩工具,后缀名要改,或者使用java命令打包,重启服务,catch块捕捉到:RemoteAccessException,大功告成!
相关文章推荐
- 关于UDP消息服务抛出“远程主机强迫关闭了一个现有的连接”的异常说明及处理方法
- 【JAVA】使用jacob生成的html,关于文字乱码处理,图片无法显示等问题。
- 关于在英创em9161板上使用ADO.net连接远程数据库提示 “无法找到 PInvoke dll"dbnetlib.dll"”问题解决方法
- 关于UDP消息服务抛出“远程主机强迫关闭了一个现有的连接”的异常说明及处理方法
- 解决"System.AccessViolationException”类型的未经处理的异常在 未知模块(IIS Worker Process 已停止工作)导致无法连接远程数据库的问题
- java redis client无法连接redis服务获取连接池问题处理记录
- HPUX环境,在WebLogic服务器中使用java调用C动态连接库异常问题总结
- 关于C++使用opencv链接库无法调用的问题
- 使用Biztalk的异常处理解决交换过程中的出错问题
- 关于“远程桌面连接已断开”问题的处理
- 关于“远程桌面连接已断开”问题的处理
- 解决hessian远程调用连接超时的问题
- 关于使用Silverlight通过IP地址访问本地ArcGIS Server发布的Rest服务无法出图的问题
- C#调用Java端Web服务(CXF)时发生Integer参数类型无法传递的问题
- 关于DELPHI调用JAVA服务的问题
- ***套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的
- 【WCF】 套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:00:56.9810000”。
- WCF 套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的
- 关于SQL2000无法远程连接的问题
- 关于oracle设置不活动自动断开连接导致java访问数据库时发生异常的问题