将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项目就建立完成。

0 0