问题描述
远程服务器的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被版主删除