各位大侠,最近在使用hessian的东西,一直出问题。百思不得其解,忘各位大侠相助!
我用的是spring2.5.6 hessian3.0.20.
service端配置:
web.xml
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/classes/spring-*.xml,/WEB-INF/Hessian-servlet.xml</param-value>
</context-param>
<servlet>  
  <servlet-name>Hessian</servlet-name>  
  <servlet-class>  
    org.springframework.web.servlet.DispatcherServlet  
  </servlet-class>
  <load-on-startup>1</load-on-startup>  
</servlet>
<servlet-mapping>
  <servlet-name>Hessian</servlet-name>
  <url-pattern>/hessian/*</url-pattern>
</servlet-mapping>Hessian-servlet.xml
<bean id="remotService" class="cn.aresoft.modules.articlesys.article.HessianServiceImpl"/>
<bean name="/hessianService" class="org.springframework.remoting.caucho.HessianServiceExporter">  
          <property name="service" ref="remotService"/>  
          <property name="serviceInterface">  
        <value>  
           cn.aresoft.modules.articlesys.article.HessianService 
        </value>  
    </property>  
</bean> 客户端配置:spring.xml
<bean id="remotService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="overloadEnabled" value="true"></property>
    <property name="serviceUrl" value="http://localhost:8080/sj_admin/hessian/hessianService"/>  
    <property name="serviceInterface" value="cn.aresoft.modules.articlesys.article.HessianService"/> 
 </bean>没有重载,但报这个错误。
Hibernate: select children0_.PID as PID1_, children0_.ID as ID1_, children0_.ID as ID1_0_, children0_.NAME as NAME1_0_ from TAM_COLUMN children0_ where  ( children0_.IS_DELETED='n')  and children0_.PID=? order by children0_.ID
org.springframework.remoting.RemoteAccessException: Cannot access Hessian remote service at [http://localhost:8080/sj_admin/hessian/hessianService]; nested exception is com.caucho.hessian.io.HessianProtocolException: 500: java.net.SocketException: Software caused connection abort: recv failed
at org.springframework.remoting.caucho.HessianClientInterceptor.convertHessianAccessException(HessianClientInterceptor.java:254)
at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:225)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy1.sendToChielf(Unknown Source)
at cn.aresoft.web.ajax.dwr.ArticleJSService.updateArticle(ArticleJSService.java:266)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:740)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:744)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:593)
at org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:90)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.caucho.hessian.io.HessianProtocolException: 500: java.net.SocketException: Software caused connection abort: recv failed
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java)
at $Proxy0.sendToChielf(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:219)
... 32 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1345)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1339)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:993)
... 39 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:652)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
... 39 more
不知道是不是我的路径写错了,service在tomcat的配置
<Context path="/admin" docBase="D:\\Workspaces\\sj_ajjadmin\\WebContent" debug="0" reloadable="true"  crossContext="true"></Context>
但我反复的试好像还是不行!