我有一个接受消息的编排。目标命名空间是"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的发送端口。
即使消息流经编排,我的发送端口也没有接收到消息。这是不正确的过滤器吗?
发布于 2013-03-22 18:55:28
您是否正在尝试订阅“MyMessage”消息,或者与发送到绑定到物理WCF发送端口的逻辑发送端口的消息相同?
你已经说过:
"MyMessage“消息然后被进一步映射,然后使用编排中的逻辑发送端口发送到web服务。然后将WCF发送端口绑定到编排,一切工作正常。
未发布到MsgBox的消息
根据您所描述的,我建议您在'MyMessage‘消息的编排中没有发送形状/逻辑发送端口组合,这就是为什么您不能在发送端口筛选器中手动订阅此消息类型的原因。您没有提到“失败的路由报告”消息这一事实进一步表明情况就是如此-此消息类型是在找不到要发布到MsgBox的消息的订阅时生成的。
捕获邮件的'MessageType'
但是,如果您需要捕获通过WCF Send Port发送的消息的副本,则需要确定其MessageType,并在将消息写出到文件的第二个发送端口订阅中使用该use。
如果您不确定要使用什么MessageType,有一个简单的技巧可以确定此信息:
发送端口
<代码>G215
或者,如果您不想更改编排,您可以尝试在邮件通过发送管道时在(原始) WCF Send Port中对其进行存档-或者编写自己的存档组件或使用existing commercial component。通过以这种方式使用存档组件,您将节省额外订阅和相关发送端口维护的费用。
更新:
听起来很像OP没有将中间消息从他们的编排发送到message Box (参见注释)。消息订阅仅在消息发布到Message Box时才起作用-在这种情况下,所讨论的消息('Message B')是一个仅存在于编排的上下文和生命周期内的中间消息。OP需要将消息发送到编排中的直接绑定端口,以允许通过发送端口订阅消息。
发布于 2015-06-18 22:01:11
验证发送端口的管道。应该通过XML,而不是Passthrougth。
https://stackoverflow.com/questions/15555351
复制相似问题