首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何订阅在BizTalk编排中创建的消息?

如何订阅在BizTalk编排中创建的消息?
EN

Stack Overflow用户
提问于 2013-03-22 02:29:23
回答 2查看 5.3K关注 0票数 0

我有一个接受消息的编排。目标命名空间是"http://microsoft.com/HealthCare/HL7/2X“,根元素是"ORU_R01_23_GLO_DEF”

在编排中,我将消息映射到构造形状中的中间消息类型。目标命名空间为"http://mycompany.com/myapplication“,根元素为"MyMessage”。然后进一步映射"MyMessage“消息,然后使用编排中的逻辑发送端口将其发送到web服务。然后将WCF发送端口绑定到编排,一切工作正常。一切都按预期运行。

在不改变编排的情况下,我想创建一个订阅中间"MyMessage“消息并将其写入文件的发送端口。为此,我创建了一个带有筛选器BTS.MessageType = http://mycompany.com/myapplication#MyMessage的发送端口。

即使消息流经编排,我的发送端口也没有接收到消息。这是不正确的过滤器吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-22 18:55:28

您是否正在尝试订阅“MyMessage”消息,或者与发送到绑定到物理WCF发送端口的逻辑发送端口的消息相同?

你已经说过:

"MyMessage“消息然后被进一步映射,然后使用编排中的逻辑发送端口发送到web服务。然后将WCF发送端口绑定到编排,一切工作正常。

未发布到MsgBox的消息

根据您所描述的,我建议您在'MyMessage‘消息的编排中没有发送形状/逻辑发送端口组合,这就是为什么您不能在发送端口筛选器中手动订阅此消息类型的原因。您没有提到“失败的路由报告”消息这一事实进一步表明情况就是如此-此消息类型是在找不到要发布到MsgBox的消息的订阅时生成的。

捕获邮件的'MessageType'

但是,如果您需要捕获通过WCF Send Port发送的消息的副本,则需要确定其MessageType,并在将消息写出到文件的第二个发送端口订阅中使用该use。

如果您不确定要使用什么MessageType,有一个简单的技巧可以确定此信息:

  1. 停止(而不是取消登记)

发送端口

  1. 按正常方式通过业务流程发送消息-该消息将在BizTalk管理控制台中的WCF发送端口上标记为可重新启动。
  2. 在BizTalk管理控制台中打开该消息并查看其“”消息上下文“”;在消息上下文中,您将看到其“”MessageType“”属性,然后您可以使用该属性了解要使用的订阅筛选器。
  3. 启动“”WCF发送端口“”以刷新消息。

<代码>G215

或者,如果您不想更改编排,您可以尝试在邮件通过发送管道时在(原始) WCF Send Port中对其进行存档-或者编写自己的存档组件或使用existing commercial component。通过以这种方式使用存档组件,您将节省额外订阅和相关发送端口维护的费用。

更新:

听起来很像OP没有将中间消息从他们的编排发送到message Box (参见注释)。消息订阅仅在消息发布到Message Box时才起作用-在这种情况下,所讨论的消息('Message B')是一个仅存在于编排的上下文和生命周期内的中间消息。OP需要将消息发送到编排中的直接绑定端口,以允许通过发送端口订阅消息。

票数 3
EN

Stack Overflow用户

发布于 2015-06-18 22:01:11

验证发送端口的管道。应该通过XML,而不是Passthrougth。

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

https://stackoverflow.com/questions/15555351

复制
相关文章

相似问题

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