gpt4 book ai didi

scope - BizTalk 表达式形状内的范围是什么?

转载 作者:行者123 更新时间:2023-12-02 07:23:01 25 4
gpt4 key购买 nike

在 BizTalk 表达式形状中,我看到了一个空白的文本编辑器,上面有一些粗略的“示例”, mock 我。 “这太容易了”他们唱道。尽我所能,我只是没有建立联系。也许我想多了。我是 BizTalk 新手。来自多年繁重的 .NET 和软件工程经验,我的想法似乎并没有脑子...

有丰富 BizTalk 经验的人能否就这个问题启发我:表达式形状内的范围和可用范围是什么?以及随后的 MessageAssignment 形状?

关于作用域,我的意思是像在实际编程中一样:变量名、命名空间等。

我在 BizTalk 上看到的每个示例都假定您了解这些内容的来源。例如,请参阅此 MSDN 页面:Using Distinguished Fields and Property Fields

它假定我知道在哪里创建、实例化和访问“MyMessage”。我不知道在哪里初始化它,给什么形状标识符命名等等。

我的设计看起来很简单:当错误发生时,捕获它,凭空创建一个 ErrorMessage,将字符串值分配给可区分的字段“Reason”,然后发送到发送端口。除了表达正确,我什么都可以。

非常感谢任何专家的见解。

最佳答案

您只能在 Construct Message 形状内创建消息,然后MapAssignment 形状。您不能构造表达式形状的消息。

map 选项

对于异常 block 中的映射,您可以映射的唯一消息是那些在异常 block 所在范围之前创建的消息。因此对于整个 Orchestration 的异常 block ,我从接收到的消息映射初始激活接收(应该在范围之前)以及错误消息模式。然后,您可以在 map 后的 Construct 形状中进行消息分配。

注意:如果范围涵盖除初始接收以外的所有消息,则此初始接收消息是您唯一确定在编排中具有的消息。我只在涉及格式错误的 MIME 消息的边缘案例中遇到过一次,该消息导致 Orchestration 启动但没有此初始消息。

非 map 选项

在没有 map 的情况下只使用一个赋值形状创建它

  1. 需要调用外部类,例如ESB 故障处理 eSBFault = Microsoft.Practices.ESB.ExceptionHandling.ExceptionMgmt.CreateFaultMessage(); 其中 eSBFault 定义为消息类型 Microsoft.Practices.ESB.ExceptionHandling.Schemas.Faults.FaultMessage
  2. 从另一个现有消息中分配它,例如xTempDoc= wcfFault.fault; 在此示例中,wcFault 是 Catch Exception 中设置的异常对象名称,xTempDoc 是 System.Xml.XmlDocument 类型的变量,然后分配给消息变量。

  3. 手动创建消息,例如下面来自 creating a new message in the Message Assign shape 的消息

例子

xmlDocMessage = new System.Xml.XmlDocument();
xmlDocMessage.LoadXml("<Out><ErrorCode>4711</ErrorCode></Out>");

创建消息变量

对于以上所有内容,您需要进入 Orchestration View 并创建一个消息名称的消息变量,并将其设置为您要构造的消息的消息类型。它需要在您构造它的范围内或封闭范围内。注意:它仅在您定义它的范围或定义它的范围的子范围内可用。

enter image description here

表达式形状的其他限制

有关表达式形状的其他限制,请参阅 Requirements and Limitations for Expressions

关于scope - BizTalk 表达式形状内的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37950148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com