使用Spring httpinvoker 远程调用

服务器端:

spring.xml 中添加:

<bean id="aboutUsService"  class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
        <property name="service" >
            <bean class="com.XXX.XXX.service.impl.XXXX" />
        </property>
        <property name="serviceInterface" value="com.XXX.XXX.service.XXXService" />
    </bean>

服务器端 web.xml 中添加:

<servlet>
        <servlet-name>aboutUsService</servlet-name>
        <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>aboutUsService</servlet-name>
        <url-pattern>/as</url-pattern>
    </servlet-mapping>

服务器端 web.xml 中,servlet-name 需要与spring.xml中的bean id一致,否则会报错,找不到该 id

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

在网上查找资料,使用的是:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/aboutUs.service">aboutUsServiceInvoker</prop>
            </props>
        </property>
    </bean>

报的是

不知道什么原因,哪位大神看到,可以帮忙解释下。。。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

客户端:

<bean id="aboutUsServiceProxy" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
        <property name="serviceUrl" value="http://127.0.0.1:8080/emart/as" />
        <property name="serviceInterface" value="com.XXX.XXX.service.AboutUsService" />
    </bean>

这里需要注意项目中的过滤器,不过滤/as的请求。

如有错误,请大神在评论区指示!!!!!!

时间: 2024-09-27 04:35:43

使用Spring httpinvoker 远程调用的相关文章

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

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

基于Spring的远程调用的实现

在Spring remoting中包含三种实现方式:http-invoker,hessian,burlap.具体的配置如下: 一.服务器端配置(applicationContext.xml): <pre name="code"><?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/

Spring远程调用技术&lt;3&gt;-Spring的HTTP Invoker

前面提到RMI使用java标准的对象序列化机制,但是很难穿透防火墙.  另一方面,Hessian和Burlap能很好地穿透防火墙,但是使用私有的对象序列化机制. Spring提供的http invker是一个新的远程调用模型,作为Spring框架的一部分,能够执行基于HTTP的远程调用(让防火墙不为难),并使用java的序列化机制(让开发者也乐观其变). Spring的HTTPinvoker把HTTP的简单性和java内置的对象序列化机制融合在一起.这使得HTTPinvoker成为替代RMI H

Spring HttpIvoker实现Java的远程调用

Spring HttpInvoker一种JAVA远程方法调用框架实现,使用的是HTTP协议,允许穿透防火墙,使用JAVA系列化方式,但仅限于Spring应用之间使用,即调用者与被调用者都必须是使用Spring框架的应用.基本原理如下: 在server端,springAOC管理着controller(bean),并暴露出远程调用的接口.在Client端,借助spring产生一个代理对象,通过代理对象实现与服务端的交互. 服务器端配置 1. 加入jar包 2. 在.xml中配置spring远程调用的

spring 远程调用

spring远程调用: ------------------------ -----------server----------- 1.创建web项目 2.添加spring类库 org.springframework.aop-3.1.0.RELEASE.jar org.springframework.asm-3.1.0.RELEASE.jar org.springframework.beans-3.1.0.RELEASE.jar org.springframework.context-3.1.0

Spring远程调用HTTP invoker

前言 在日常的工作中,会有客户端调用远程服务端接口的需求,这样的需求实现,在网上查到有像RMI.hessian.Burlap等,下文给出HTTP Invoker实现远程调用,他不用使用者考虑对象序列化的问题,对使用者,非常的友好. 下面介绍在Spring中配置HTTP Invoker实现远程调用.分为服务提供方和服务消费方两部分. 案例 服务提供方 1.定义一个接口和接口实现类,服务提供方提供. WelcomeService.java package com.aaron.service; imp

Spring使用Hessian实现远程调用

1.Spring中除了提供HTTP调用器方式的远程调用,还对第三方的远程调用实现提供了支持,其中提供了对Hessian的支持. Hessian是由Caocho公司发布的一个轻量级的二进制协议远程调用实现方案,Hessian也是基于HTTP协议的,其工作原理如下: (1).客户端: a.发送远程调用请求: 客户端程序->发送远程调用请求->Hessian客户端拦截器->封装远程调用请求->Hessian代理->通过HTTP协议发送远程请求代理到服务端. b.接收远程调用响应:

spring代理模式 service远程调用,插件执行

最近,研究了一下平台远程调用的过程,和service层插件执行的原理,记录一下. 1.远程service调用过程 首先看一下类的继承结构 封装调用处理过程 封装service调用接口 封装service请求信息 封装请求信息处理类 先描述一个调用过程: 平台在controller里面获取service的时候都是通过lookup方式(就是用了spring查找service的bean对象的代理对象),远程的service配到配置文件里面,所以在lookup的时候,如果配置文件中有的service,返

Spring 远程调用工具类RestTemplateUtils

RestTemplateUtils.java package utils; import java.util.Map; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import or