spring hessian远程调用

问题描述

远程服务器的web.xml中有如下配置<filter><filter-name>AcegiFilterChainProxy</filter-name><filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class><init-param><param-name>targetClass</param-name><param-value>org.acegisecurity.util.FilterChainProxy</param-value></init-param></filter><filter-mapping><filter-name>AcegiFilterChainProxy</filter-name><url-pattern>/*</url-pattern></filter-mapping>我的客户端的spring的配置如下<beanid="myBctype"class="org.springframework.remoting.caucho.HessianProxyFactoryBean"><propertyname="serviceUrl"><value>http://192.168.1.247:7005/remoting/BC/Bctype/BctypeService</value></property><propertyname="serviceInterface"><value>gov.mof.fasp.bc.bctype.bpo.IBctypeBPO</value></property></bean>调用时我的客户端页面报如下错误com.caucho.hessian.client.HessianConnectionException:500:java.io.IOException:ServerreturnedHTTPresponsecode:500forURL:http://192.168.1.247:7005/remoting/BC/Bctype/BctypeServicecom.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:197)$Proxy232.findBcTypes(UnknownSource)sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)java.lang.reflect.Method.invoke(Method.java:597)org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:115)org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)$Proxy167.findBcTypes(UnknownSource)com.scmofit.util.HessionAction.GetListInfo(HessionAction.java:63)sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)java.lang.reflect.Method.invoke(Method.java:597)远程服务器上也有如下的错误日志:ServletfailedwithExceptionorg.acegisecurity.AuthenticationCredentialsNotFoundException:AnAuthenticationobjectwasnotfoundintheSecurityContextatorg.acegisecurity.intercept.AbstractSecurityInterceptor.credentialsNotFound(AbstractSecurityInterceptor.java:329)atorg.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:244)atorg.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:104)atorg.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)atorg.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)atorg.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)atorg.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)atorg.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)atorg.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)atweblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)atcom.tjhq.inspect.filter.SessionFilter.doFilter(SessionFilter.java:153)atweblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)atcom.tjhq.inspect.common.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)备注:在将服务器的web.xml<filter-mapping><filter-name>AcegiFilterChainProxy</filter-name><url-pattern>/*</url-pattern></filter-mapping>更改为<filter-mapping><filter-name>AcegiFilterChainProxy</filter-name><url-pattern>*.do</url-pattern></filter-mapping>我的客户端能够成功调用hessian并且返回数据,但是生产服务器的配置是不允许我更改的。

解决方案

解决方案二:
有高手没?
解决方案三:
hessian好偏曾用过,忘了
解决方案四:
该回复于2011-03-05 08:45:12被版主删除

时间: 2024-11-01 23:26:05

spring hessian远程调用的相关文章

【spring源码学习】spring的远程调用实现源码分析

[一]spring的远程调用提供的基础类 (1)org.springframework.remoting.support.RemotingSupport ===>spring提供实现的远程调用客户端实现的基础类 ===>例子:org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean org.springframework.remoting.caucho.HessianProxyFactoryBean (2)org.

Hessian源码分析和Hack --让Hessian携带远程调用端的信息

项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销.但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的.翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复.今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获.献丑分享出来,一方面给需要的朋友,主要还是希望各位找找是否存在bug,以及是否有更好的改良. 一:先撇开Sp

基于Dubbo的Hessian协议实现远程调用

Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行远程调用,也就是说,服务调用方需要使用Java语言来基于Dubbo调用提供方服务,限制了服务调用方.同时,使用Dubbo的Hessian协议实现提供方服务,而调用方可以使用标准的Hessian接口来调用,原生的Hessian协议已经支持多语言客户端调用,支持语言如下所示: Java:http://hessian.caucho.com/#Java Flash/Flex:http:/

Spring远程调用返回数据异常

问题描述 最近做一个项目,需要从his同步数据同样的程序,可以从SQLServer同步数据但换成Oracle后,测试代码出现图片中的异常最后找出问题,Oracle返回数据接近五万,然后就出现图片中异常,给语句加上条件,返回少量数据,可以正常返回.换一个语句,数据三万多,可以正常返回.所以,当远程调用需要返回数据时,数据太多就会出现异常 解决方案

架构师之路-在Dubbo中开发REST风格的远程调用

概述 dubbo支持多种远程调用方式,例如dubbo RPC(二进制序列化 + tcp协议).http invoker(二进制序列化 + http协议,至少在开源版本没发现对文本序列化的支持).hessian(二进制序列化 + http协议).WebServices (文本序列化 + http协议)等等,但缺乏对当今特别流行的REST风格远程调用(文本序列化 + http协议)的支持. 有鉴于此,我们基于标准的Java REST API--JAX-RS 2.0(Java API for REST

java远程调用powershell,有熟悉的么

问题描述 java远程调用powershell,有熟悉的么 如题,最近在调试java远程调用powershell,有熟悉的大神指教一下么,如果方便希望加我QQ 2844801761 一起交流一下! 解决方案 Java rmi 远程调用通过java反射调用远程方法java远程调用之spring和hessian

架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)

在深入学习zookeeper我想先给大家介绍一个和zookeeper相关的应用实例,我把这个实例命名为远程调用服务.通过对这种应用实例的描述,我们会对zookeeper应用场景会有深入的了解. 远程调用是系统与系统之间的通信机制,它的另一种理解就是进程间的通信.做分布式系统的开发,远程调用技术是其核心技术.远程调用技术可以将一组计算机系统形成一个网络系统,对外提供整体服务,那么这一群的计算机系统就构成了一个更大型,性能更高的计算机系统. 我在前面的博客里介绍了一种分布式网站的架构设计,其中就有一

WEB(Javascript)远程调用方案清单

javascript|web Web远程过程调用(以下简称WebRPC)是在不刷新页面的前提下,对远程方法进行调用,是最近的一个热点:在一些场合下,他甚至成为不可替代的实现方式.WebRPC的实现方式经历了从普通URL读取,隐藏帧,IFrame, XMLHTTP乃至 Flash等.本文将对目前存在的WebRpc方案(产品)进行列表,并作简单评价. 评价将在以下几个方面进行:客户端实现方式,服务器端实现方式,是否自行封装协议,是否支持序列化/反序列化,序列化支持是否完备(原子类型,对象类型),是否

jax_ws 客户端远程调用方法时必须使用wsimport命令生成接口代码

问题描述 jax_ws 客户端远程调用方法时必须使用wsimport命令生成接口代码 jax_ws 客户端远程调用方法时,不生成服务端的代码如何实现?