HessianServiceExporter only supports POST requests异常

服务端配置:
web.xml配置:
xml 代码
 
  1. <servlet>  
  2.     <servlet-name>remote</servlet-name>  
  3.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  4.     <load-on-startup>1</load-on-startup>  
  5. </servlet>  
  6.   
  7. <servlet-mapping>  
  8.     <servlet-name>remote</servlet-name>  
  9.     <url-pattern>/remote/*</url-pattern>  
  10. </servlet-mapping>  

remote-servlet.xml配置:
xml 代码
 
  1. <bean name="/authService"  
  2.         class="org.springframework.remoting.caucho.HessianServiceExporter">  
  3.     <property name="service">  
  4.         <ref local="authService"/>  
  5.     </property>  
  6.     <property name="serviceInterface">  
  7.         <value>暴露的接口</value>  
  8.     </property>  
  9. </bean>  

客户端配置:

applicationContext-remote.xml
xml 代码
 
<bean id="remoteAuthService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">       <property name="serviceUrl">           <value>IP:port/remote/authService</value>       </property>       <property name="serviceInterface">           <value>远程接口</value>       </property>   </bean>  

当启动客户端时,服务端会抛出如下异常:
 2007-5-12 13:22:25 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet remote threw exception
javax.servlet.ServletException: HessianServiceExporter only supports POST requests
我们用servlet的init初始化启动数据(该servlet为启动加载类),在init方法里有远程调用,我刚开始以为是因为在该方法中远程调用,所以会引发上面异常,但我把这个启动加载的servelt注释掉还是会抛出异常,不知道为什么,请~!!!!!!!

注:该异常并不影响我们的远程操作,但启动时抛出个异常,毕竟不爽,希望遇到各位朋友能帮忙解答一下,在此谢谢啦
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hessian是一种轻量级的二进制RPC协议,它可以使得Java和其他语言之间的通信变得更加简单和高效。下面是一个简单的Hessian服务端和客户端的例子: 服务端(Java): 1. 首先,需要在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.38</version> </dependency> ``` 2. 创建一个实现了Hessian服务接口的类,例如: ```java public class HelloServiceImpl implements HelloService { public String sayHello(String name) { return "Hello, " + name + "!"; } } ``` 3. 在Spring配置文件中添加以下内容: ```xml <bean id="helloService" class="com.example.HelloServiceImpl"/> <bean id="hessianServiceExporter" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service" ref="helloService"/> <property name="serviceInterface" value="com.example.HelloService"/> </bean> ``` 4. 启动应用程序,服务端就可以监听来自客户端的请求了。 客户端(C#): 1. 首先,需要在项目中添加对HessianSharp.dll的引用。 2. 创建一个HessianProxyFactory对象,并使用它来创建一个HelloService接口的代理对象,例如: ```csharp HessianProxyFactory factory = new HessianProxyFactory(); HelloService service = (HelloService)factory.Create(typeof(HelloService), "http://localhost:8080/helloService"); ``` 3. 调用代理对象的方法,例如: ```csharp string result = service.sayHello("world"); Console.WriteLine(result); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值