我有一个信封消息(EM),在这个EM中有一些元素在上下文中被提升(用于路由),并且有一个Any元素(称为Payload)保存实际的模式实例以供进一步使用(其他编排是订阅该Payload实例。)
这是接收请求消息的通用服务(WCF,请求 - 响应),返回响应消息(具有请求的一些元素和新生成的唯一事务ID)和故障消息(如果适用)。 / p>
Payload必须在MessageBox(直接绑定)上与EM的某些上下文属性一起发布。
如何最有效地完成这项工作?
答案 0 :(得分:0)
您是否了解如何使用接收管道中的xml反汇编程序组件处理信封架构?从您的问题中不清楚您是否尝试过这种情况,或者这是否是您所面临的挑战。
如果没有,请在此处阅读:http://msdn.microsoft.com/en-us/library/aa546772(v=BTS.20).aspx
答案 1 :(得分:0)
我可以确认吗
如果您不需要第3点),那么您的WCF业务流程只需将“是”消息发送回WCF客户端,而无需担心您的负载会发生什么。
WCF接收位置上的标准XMLReceive应该能够自动解除消息,只要它将其识别为信封模式,即包含
<b:schemaInfo is_envelope="yes" xmlns:b="somexmlns"/>
<b:recordInfo body_xpath="xpathtoroot"/>
但是,如果确实需要第3点问题,我可以看到,因为您正在使用WCF请求 - 响应,客户端是否需要根据Payload处理返回同步响应。使用标准信封debatching很难做到这一点,因为您需要将有效负载处理的进度和结果关联回WCF orch - 相反,您可能只是将外部(Envelope)架构保持为非信封,并且在WCF orch中使用自定义接收管道来拆分消息,然后遍历每个消息并调用有效负载处理Orchestration。
http://mstecharchitect.blogspot.com/2008/12/debatching-biztalk-xml-messages.html