Mule ESB-3.Build a webservice proxy
build Proxy webservice esb
2023-09-14 09:08:58 时间
自从引入ESB后,系统之间不再直接依赖。我负责的这块,主要是解决Webservice的问题。使系统A不再直接依赖系统B的Webservice。
![](//img-blog.csdn.net/20140418171431062)
![](//img-blog.csdn.net/20140418171544156)
我们选择的产品是Mule ESB。所以自然要使用Mule 创建一个Webservice代理,即系统A请求到ESB,ESB请求系统B。
准备工作:
通过我的博客《Mule ESB-Basic Studio Tutorial》了解Mule
ESB的基本操作。并准备开发环境。
环境:
windows 8
jdk 1.6
mule-standalone-3.5.0-M4
MuleStudio-for-win-32bit-3.5.0-201312091746
主要步骤:
1、新建一个Mule Project
2、创建一个流程
这两步非常easy,不再赘述。操作结果:
3、编辑流程
(1)新建一个flow
打开gxpt_test_esb_1.0.mflow,拖一个flow scope 进去。命名为HttpProxyService。
(2)加入HTTP Endpoint
加入HTTP Endpoint,而且右击转换为outbound endpoint,打开属性窗体,输入address。即Webservice的endpoint。如http://192.168.24.46:8080/test_server_webservice/UserManagerBean
(3)为这个Webservice创建一个client
加入一个SOAP Component到http endpoint的前面,编辑它的属性,设置operation为proxy client
(4)创建一个真正的代理服务
加入还有一个SOAP Component到proxy
client SOAP的前面,设置operation为proxy service。设置Namespace 和 Service,必须和你要代理的Webservice的wsdl相符。在WSDL Location中填上wsdl的地址,如http://192.168.24.46:8080/test_server_webservice/UserManagerBean?wsdl
也能够将该文件放在项目的目录中。如src/
(5)加入一个 HTTP inbound endpoint,设置address。如http://192.168.24.12:8888/UserManager
最后,完整的flow应该是以下这个样子:
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd"> <flow name="HttpProxyService" doc:name="HttpProxyService"> <http:inbound-endpoint exchange-pattern="request-response" address="http://192.168.24.12:8888/UserManager" doc:name="HTTP"/> <!-- wsdlLocation="service/UserManagerBean.wsdl" 也能够使用该属性替换掉url--> <cxf:proxy-service namespace="http://ejb.jialin.com/" service="UserManagerBean" payload="body" wsdlLocation="http://192.168.24.46:8080/test_server_webservice/UserManagerBean?wsdl" doc:name="SOAP"/> <cxf:proxy-client payload="body" enableMuleSoapHeaders="true" doc:name="SOAP"/> <http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://192.168.24.46:8080/test_server_webservice/UserManagerBean" doc:name="HTTP"/> </flow> <flow name="gxpt_test_esb_1.0Flow1" doc:name="gxpt_test_esb_1.0Flow1"/> </mule>
OK,接下你能够run mule server,在浏览器中输入wsdl地址。看一下结果啦。
假设输入代理地址和直接输入目标地址。显示的wsdl一样,说明配置正确。
小结:
在这篇文章中,我介绍了怎样使用mule创建一个Webservice代理,不须要使用不论什么转换器。也不须要写一行代码。全然是配置完毕的。
在兴许文章中将继续聊Mule ESB,敬请关注。
相关文章
- Unity 实现批量Build打包
- step by step guide tell you how to build a website like apkmirror
- Gradle build.gradle 文件
- ERROR: Could not build wheels for opencv-python-headless, which is required to install pyproject.tom
- 【Android Gradle 插件】Gradle 映射文件 ( settings.gradle 映射为 Settings 类 | build.gradle 映射为 Project 类 )
- ORA-29851: cannot build a domain index on more than one column ORACLE 报错 故障修复 远程处理
- MySQL Error number: 3627; Symbol: ER_UNABLE_TO_BUILD_HISTOGRAM; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-010372; Symbol: ER_TZ_CANT_BUILD_MKTIME_MAP; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-01326: compatability of 9.0 or greater required to build into the logstream ORACLE 报错 故障修复 远程处理
- Win11首个预览版Build 22000.51发布:明确最低系统要求
- [下载] (简中/繁中) Windows 11 Build 22000.100版ISO 集成KB5004300
- 微软推出Windows 11 Dev Build 22000.100 部分细节更新和修复已知问题
- [下载] 微软推出Windows 10 Dev Build 21286版ISO镜像与VHDX镜像
- 微软 Win11 Build 22000.132(KB5005190)预览版发布:Teams 快速聊天,全新截图升级,大量修复增强
- Windows 10 Build 15048正式发布,专注修复Bug
- [下载] 微软推出Windows 11 Dev Build 22000.132版(集成KB5005190)