Mule Esb实现WebService代理

基于SOA的系统开发越来越成为了分布式系统开发的提纲,在系统继承平台项目中,我们也很好的实现了这一理念。在这个项目中,各个系统之间的交互主要依赖的是webservice,由其是基础系统为考试系统,评教系统提供数据支持的情况,并且随着业务的不断扩展,我们将提供越来越多的webservice,在这种情况下如果依然让各个系统之间持有webservice的wsdl以此访问webservice在后期会造成严重的维护问题,并且考虑到继承以前遗留的异构系统我们最终选择了使用ESB来成立一个webservice管理中心,所有webservice都在ESB管理中心进行注册,而所有的客户端所持有的都是ESB对外发布的统一接口,这样通过将webservice的服务端与客户端解耦,大大提高了维护效率。ESB为我们带来的最明显好处是当我们的webservice的wsdl的地址发生改变的时候我们不用再费力的在各个调用该webservice的客户端修改其持有的wsdl,而只需要在ESB的管理中心更改一处就可以达到目的。下面我就来介绍一下ESB通过webservice代理实现系统集成的功能。

首先新建一个Mule Project,然后打开flows文件夹下的.mflow文件,这个文件的配置有两种方式,既可以通过拖拽的方式进行流程控制,也可以直接在xml中进行配置。并且ESB发布webservice的方式也并非一种,这里我们选用一种最简单的方式。来看该文件的核心配置:

<?xml version="1.0" encoding="UTF-8"?>

    <pattern:web-service-proxy
    	name="weather-forecast-ws-proxy"
		inboundAddress="http://localhost:8082/WSServiceService"
		outboundAddress="http://localhost:8080/YCHWebServiceServer/changshou"
		wsdlLocation="http://localhost:8080/YCHWebServiceServer/changshou?wsdl"
	/>

</mule>

上面这种方式是最简单的webservice代理的发布方式,其中inboundAddress就是esb发布的代理端口,outblundAddress是我们实际发布的webservice地址,然后以mule application方式启动这个mule工程,在浏览器中输入outboundAddress地址回车,然后在新窗口输入esb的代理地址,如果这二者都能成功访问webservice则说明我们的发布的esb代理成功。这里的发布webservice方式我完全用的是在之前的博客《CXF
WebService实战
》中的webservice,测试客户端也同样是该篇文章中的测试客户端,本文中测试代码就不再赘述,通过测试无论我们在客户端持有的真正的webservice地址还是还是esb的webservice代理地址都能成功完成webservice的调用,这样我们就实现了通过esb代理来实现系统集成的功能。

时间: 2024-08-10 23:30:10

Mule Esb实现WebService代理的相关文章

mule发布调用webservice

mule发布webservice 使用mule esb消息总线发布和调用webservice都非常精简,mule包装了所有操作,你只需要拖控件配置就可以,下面讲解mule发布: 1.下面是flow,http监听接口,CXF发布webservice,java用来引用webservice的方法. 2.xml代码如下:     <flow name="webService">      <http:listener config-ref="HTTP_Listene

EnjoyingSoft之Mule ESB基础系列第二篇:Mule ESB基本概念

目录 1. 使用Anypoint Studio开发 2. Mule ESB Application Structure - Mule ESB应用程序结构 3. Mule ESB Application整体构造 4. Mule ESB构造元素 - Flow 5. Mule ESB构造元素 - Connector 6. Mule ESB构造元素 - Processor Mule ESB在众多开源的ESB中处于领先者的地位,MuleSoft公司也作为独角兽,2017年在纽交所上市.我们作为MuleSo

利用wsdl.exe生成webservice代理类

根据提供的wsdl生成webservice代理类 1.开始->程序->Visual Studio 2005 命令提示 2.输入如下红色标记部分 D:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:TestDemo /out:d:/Temp/TestService.cs D:/Temp/TestService.wsdl 在d:/Temp下就会产生一个TestService.cs 文件 注意:D:/Temp/T

解析利用wsdl.exe生成webservice代理类的详解

利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部分D:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:TestDemo /out:d:/Temp/TestService.cs D:/Temp/TestService.wsdl在d:/Temp下就会产生一个TestServ

Mule ESB 自带例子hello初体验

1 配置的流的效果图 2 应用配置文件hello.xml内容 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <mule xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://w

手动生成WebService代理类

方式一: 手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs /out:D:/ProxyServices.cs http://localhost/WebService.asmx 拷贝到Visual Studio 2008 命令提示窗口中去执行,这是一种办法. 方式二: 首先打开Visual Studio 2008,选择菜单"工具"-"外部工具"打开外部工具对话框,单击"添加"按钮添加新工具,然后在"标

mule esb exception(一)

mule esb 异常分类 system exception message exception 系统异常出现的两种情况: 应用启动时出的异常 连接外部系统时出现的异常 for example:读取文件,当文件正在写入时,file connector endpoint去读这个文件,出现的异常即为系统异常,stackoverflow也有相关参考 系统异常相当于java中的Error 由于系统异常处于应用不可用状态,重点分析 message exception Message Exception m

mule esb 文件传输

问题:如何使用mule esb 进行文件传输 应用场景: 局域网内不同服务器之间共享文件夹的形式传入文件,采用mule esb 实现共享文件夹之间文件传递的自动化,example: 服务器一(ip:10.66.88.1)上有个input共享文件夹,服务器二(10.66.88.2)上有个output文件夹,服务器一产生生成文件到input共享文件夹,人工copy到服务器二的output文件夹,服务器二再从output文件夹读取数据,mule esb文件传输,解决服务器一上的文件夹到服务器二outp

WSDL自动生成WebService代理类的方法

通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs  /out:D:\Proxy_UpdateService.cs http://localhost:1101/UpdateService.asmx?wsdl拷贝到Visual Studio 2005 命令提示窗口中去执行,这里再介绍另一个办法. 首先打开Visual Studio 2005,选择菜单"工具"-"外部工具"打开外部工具对话框,如图 ,单击“添加”按钮添加新工具,