将Mule ESB Http项目转换为Tomcat项目(2) ESB项目创建
来源:互联网 发布:ubuntu samba 客户端 编辑:程序博客网 时间:2024/05/16 11:31
我研究使用的样例是使用Mule ESB提供的Data Weaver(简称DW),将一个json报文转换为xml响应,我使用的Anypoint Studio版本是6.0, Studio中运行项目的Mule Standalone版本是3.8.0.M1 EE.
1.创建Mule ESB项目
打开Anypoint Studio, 选择[New]-[Mule Project],新建一个Mule Project
Mule Maven Project,让Anypoint Studio帮我们生成maven项目所需的pom.xml文件,在生成web application文件的war包时需要修改这个pom文件。
具体anypoint studio使用的jdk设置以及maven repository的设定请参考Mule相关文档,不再赘述。
2)Mule Project生成以后,打开src/main/app目录下的流程文件([项目名].xml文件),从Mule Palette中拖拽一个Http Listener到流程图中,作为ESB项目的Http请求入口。
打开HTTP节点,设置Http请求的参数
点击Connector Configuration旁边的[+]按钮,新建一个Http Connector,设置Connector的端口为8081,根目录为/
设置Connector属性后,点击[OK],关闭Connector窗口,设置Path路径为Test,Allowed Methods为POST.
3)拖拽一个DW控件(Transform Message控件)到Http控件之后,用于从json报文到xml报文响应的转换。
4)打开Transform Message控件,设置转换的源数据格式和目标数据格式。
点击左侧的[Define metadata],设置源数据格式为json格式,这里可以使用json schema文件定义源数据格式(Type选择Schema,文件选择json schema文件),也可以使用实际json样例文件定义(Type选择Example,文件选择实际json文件)。我这里采用的是后者。
同样的方式,点击右侧的[Define metadata],定义输出xml文件的格式,可以使用xml schema文件,也可以使用xml样例文件定义,这一点和上面提到的json文件相同。
定义好的dw样式图如下:
5)定义源数据和目标数据字段之间的映射关系。
我们选中左侧源数据端Payload:Json下的name节点,用鼠标拖拽到右侧目标数据段的Xml<Student>节点下的name节点,松开鼠标,在这两个属性节点之间建立一一映射关系
(实际项目中节点之间映射关系比这种一一映射关系复杂的多,可以参考Data Weaver相关文档),再在左侧id属性和右侧id属性之间建立一一映射关系。
映射关系建立完成后的dw图如下所示:
至此一个ESB http项目就建立完成。
- 将Mule ESB Http项目转换为Tomcat项目(2) ESB项目创建
- 将Mule ESB Http项目转换为Tomcat项目(3) ESB项目运行
- 将Mule ESB Http项目转换为Tomcat项目(4) 将ESB项目改造为Web项目
- 将Mule ESB Http项目转换为Tomcat项目(5) 改造Tomcat
- 将Mule ESB Http项目转换为Tomcat项目(1) 总论
- MULE ESB项目本地部署(windows)
- 五大开源ESB项目
- Mule ESB
- mule esb
- Mule ESB
- Mule ESB 学习笔记(2)
- ESB 案例解析和项目实施经验分享,第 2 部分: 刚柔相济,构建企业联邦 ESB
- 开源ESB项目中的领头羊
- ESB项目需求分析和方案设计浅谈
- 你所了解的ESB项目
- python开源ESB项目Zato技术分享
- Mule ESB—集成到tomcat
- 将maven2项目转换为myeclipse项目
- Android开发之-- SubsamplingScaleImageView加载长图并实现手势放大缩放
- Qt添加全局变量
- ABBYY设置扫描亮度的方法
- Android Fiddler使用
- DOS下创建文件的三种方法
- 将Mule ESB Http项目转换为Tomcat项目(2) ESB项目创建
- H.264句法和语法总结(八)参考图像序列标记 (marking)操作的语义
- 微信,QQ,分享后没有调用监听回调的错误原因
- "><iframe>"><iframe/src="+">"><svg/onload=alert(location.href)>
- VS编程问题-warning C4996: ’strdup’
- 正则表达式
- 用redis写了分布式锁,总感觉缺了点什么
- Selenium定位元素提示Element is not clickable at point 第一篇
- H.264句法和语法总结(九)片层数据句法