步骤 12:配置业务流程形状
在此步骤中,完成业务流程形状的配置,以删除配置智能标记不足。 将 DoorbellOutputMessage 指定为第一个转换过程的输出,将 DoorbellMap.btm 指定为该过程中使用的映射。 然后,将 DoorbellFinalMessage 指定为第二个转换过程的输出,并添加使用其他字段数据扩充消息的表达式。
配置业务流程形状
在 Visual Studio 的业务流程设计视图图面上,单击 ConstructMessage_1 形状。
在 “属性” 窗口中,单击“ 构造的消息 ”属性,从下拉列表中选择“ DoorbellOutputMessage ”,然后按 Enter。
在业务流程设计视图图面上,单击ConstructMessage_1形状内部的 DoorbellTransform 形状。 在 “属性” 窗口中,单击“ 映射名称”,然后单击属性字段中的省略号 (...) 按钮。
在“转换配置”对话框中,选择“ 现有映射”。 在 “完全限定的映射名称 ”下拉列表中,单击“ BTAHL7_Project.DoorbellMap”。
单击左窗格中的“ 源 ”。
单击“ 变量名称” 下的空框,然后从下拉列表中单击“ DoorBellInputMessage ”。
在左窗格中单击“ 目标 ”。
单击“ 变量名称” 下的空框,然后单击下拉列表中的“ DoorbellOutputMessage ”。
单击“确定”保存更改。
在业务流程“设计”视图图面上,单击 ConstructMessage_2 形状。
在 “属性” 窗口中,单击“ 构造的消息”,从下拉列表中选择“ DoorbellFinalMessage ”,然后按 Enter。
在业务流程设计视图图面上,单击ConstructMessage_2形状内的 DoorbellFinalTransform 形状。 在 “属性” 窗口中,单击“ 表达式”,然后单击省略号 (...) 按钮打开 BizTalk 表达式编辑器。
在 BizTalk 表达式编辑器中,单击文本字段并粘贴以下文本:
HeaderInfo = new System.Xml.XmlDocument(); HeaderInfo.LoadXml("<ns0:MSH_25_GLO_DEF xmlns:ns0=\"http://microsoft.com/HealthCare/HL7/2X\"> <MSH><MSH.2_EncodingCharacters>^~\\&</MSH.2_EncodingCharacters><MSH.3_SendingApplication> <HD.0_NamespaceId>SrcApp</HD.0_NamespaceId><HD.1_UniversalId>SrcAppUid</HD.1_UniversalId> </MSH.3_SendingApplication><MSH.4_SendingFacility><HD.0_NamespaceId>srcFac</HD.0_NamespaceId> <HD.1_UniversalId>srcFacUid</HD.1_UniversalId></MSH.4_SendingFacility><MSH.5_ReceivingApplication> <HD.0_NamespaceId>dstApp</HD.0_NamespaceId><HD.1_UniversalId>dstAppUid</HD.1_UniversalId> </MSH.5_ReceivingApplication><MSH.6_ReceivingFacility><HD.0_NamespaceId>dstFac</HD.0_NamespaceId> <HD.1_UniversalId>dstFacUid</HD.1_UniversalId></MSH.6_ReceivingFacility><MSH.7_DateTimeOfMessage> <TS.1>200307092343</TS.1></MSH.7_DateTimeOfMessage><MSH.8_Security>sec</MSH.8_Security> <MSH.9_MessageType><CM_MSG.0_MessageType>ADT</CM_MSG.0_MessageType> <CM_MSG.1_TriggerEvent>A04</CM_MSG.1_TriggerEvent></MSH.9_MessageType> <MSH.10_MessageControlId>msgid2134</MSH.10_MessageControlId><MSH.11_ProcessingId> <PT.0_ProcessingId>P</PT.0_ProcessingId></MSH.11_ProcessingId><MSH.12_VersionId> <VID_0_VersionId>2.2</VID_0_VersionId></MSH.12_VersionId></MSH></ns0:MSH_25_GLO_DEF>"); DoorbellFinalMessage.MSHSegment = HeaderInfo; DoorbellFinalMessage.BodySegments = DoorbellOutputMessage; DoorbellFinalMessage.ZSegments = ""; DoorbellFinalMessage(BTAHL7Schemas.MSH1) = 124; DoorbellFinalMessage(BTAHL7Schemas.MessageEncoding) = 65001; DoorbellFinalMessage(BTAHL7Schemas.MSH2) = "^~\\&"; DoorbellFinalMessage(BTAHL7Schemas.ParseError) = false; DoorbellFinalMessage(BTAHL7Schemas.ZPartPresent) = false; DoorbellFinalMessage(BTAHL7Schemas.SegmentDelimiter2Char) = true;
单击“确定”。
重要
在“HeaderInfo.LoadXml”表达式中,删除表达式中的回车符和空格。 “HeaderInfo.LoadXml”语句应位于一行中。
注意
上述文本的第一个块是硬编码的 XML 标头的示例。 BTAHL7 序列化程序需要标头段。 可以根据环境需求自定义这些标头值。 上述文本的第二个块定义多部分消息中所需的三个消息部分。 BTAHL7 序列化程序需要多部分消息。 上述文本的第三个块包含 BTAHL7 序列化程序为了将 XML 消息序列化为 HL7 平面文件消息而检查的提升属性。
继续执行 步骤 13:创建和配置端口。