首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编排中的晋升财产

编排中的晋升财产
EN

Stack Overflow用户
提问于 2016-06-13 07:51:29
回答 1查看 1.4K关注 0票数 2

我读到过,我们可以在编组中推广财产。下面是我的舞步-

  1. 创建一个新的"StudentID“提升属性。
  2. 更改值"MessageContextPropertyBase“。
  3. 更新业务流程中"StudentID“的值。
  4. 创建一个新的"StudentID“相关集。
  5. 初始化发送形状的相关集。
  6. 在BizTalk管理员控制台中创建一个发送端口。
  7. 设置一个过滤器"POC.PromotedProINOx.Schema.PropertySchema.StudentID == "7“

我不会犯任何错误。但是我希望如果"StudentID“是7,那么它应该是订阅的。

问题-我认为它没有检查"StudentID“的值,因为消息文件总是放在out文件夹中。

我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-13 11:06:58

可能有几件事你错过了

  1. 如果接收端口上的消息具有相同的提升属性,且正确的StudentID为7,则业务流程和发送端口都将订阅该消息。因此,如果您将StudentID设置为业务流程中的其他内容,则您通过发送端口发送的消息实际上并不通过业务流程,而是直接来自接收端口。 Fix:将接收到的消息的值设置为其他值,或者在入站消息上没有已提升的属性。
  2. 您已经在业务流程中指定了逻辑端口,以便稍后指定,然后也将其绑定为发送端口。默认情况下,发送端口总是订阅它的唯一ID。当业务流程通过绑定到发送端口的逻辑端口发布消息时,它在发布消息时设置并提升该ID。即使添加了订阅规则,也意味着它将被视为BTS.SPID = {id} OR {your rule}。这意味着,即使StudentID与发送端口上的订阅规则不匹配,它也将匹配SPID并仍将获取它。 Fix:将业务流程中的逻辑端口更改为直接绑定。
  3. 第三种可能是,从编排中,您正在发布的消息实际上有一个7的StudentID :检查您的构造形状(映射和赋值),以确保您实际上正在将它设置为另一个值。确保发送形状中指定的消息实际上是用新值构造的消息。

分析问题的方法是查看正在通过发送端口的消息的上下文属性,方法是在管道之前启用属性跟踪,或者停止(但不是取消登记)发送端口,并查看挂起消息的上下文属性。

如果通过发送端口的消息具有StudentID =7,那么要么您已经完成#3或#1,请参见下面。

如果消息包含接收端口和StudentID的详细信息,那么它按照#1直接来自接收端口。但是,当它试图用不同的StudentID发布消息时,我希望看到一个来自编排的错误,除非业务流程甚至没有运行(查看跟踪实例)或下面所示。

如果通过发送端口的消息具有BTS.SPID的提升属性,那么逻辑端口将按照第2条绑定到发送端口。

如果您每输入一条消息,您就会得到上述每条消息中的一条,并同时完成了#1和#2。

在摘要中,当消息没有按照您预期的方式路由时,始终检查它的上下文属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37784350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档