可以通过以下步骤在一个接收端口上建立一系列映射:
1.建立一个包含所有要用到的映射的文件夹。
2.在Biztalk映射器中打开第一个要用到的映射。
3.在'Map”选项卡下,选择'Tools”菜单,然后选择'Associate with Document Spec and Map”.
4.选择要关联的文档规范和映射文件夹,然后保存并关闭该映射。
5.重复步骤2-4,直到所有要用到的映射都被关联。
6.在Biztalk服务器管理器中,打开接收端口,并选择'映射”标签。
7.单击'新建”按钮,然后在右侧窗格中按顺序添加所有映射。确保先添加的映射在列表中排名靠前。
8.保存更改并退出。
以下是一个使用VB.NET代码的示例,可以在工作流代码中实现前面所述的步骤6和7:
Dim mapList As New ArrayList() Dim mapFolderPath As String = "C:\Maps"
'将所有映射加入到ArrayList中 mapList.Add("Map1.btm") mapList.Add("Map2.btm") mapList.Add("Map3.btm")
'打开接收端口,然后添加映射 Dim myPort As IBTReceivePort = GetReceivePort("MyReceivePort") Dim myMapList As New ArrayList()
For Each map In mapList '在映射文件夹中找到和加载映射文件 Dim mapFile As New System.IO.FileStream(mapFolderPath & "" & map, IO.FileMode.Open) Dim mapResource As New System.Xml.XmlTextReader(mapFile)
'加载映射文件并返回映射对象 Dim myMap As Microsoft.BizTalk.ExplorerOM.Map = myCatalogExplorer.AddNewMap(, "MyMapProject", mapResource, True) myMapList.Add(myMap) Next
'将所有的映射链接到接收端口 Dim myReceiveLocation As IBTReceiveLocation = myPort.ReceiveLocations.Item(0) Dim myTransformCollection As Transform.TransformCollection = myReceiveLocation.Transform Dim myTransform As Transform.ITransform
For Each map In myMapList myTransform =