我在使用上下文属性Orchestration
的相关性将二进制文件的消息路由到正在运行的ReceivedFileName
实例时遇到问题。使用带有虚拟文件的发送初始化相关性,其中Orchestration
设置消息的ReceivedFileName
上下文属性,并且属性得到提升。在收到消息的路由失败之后(XmlDocument
),我可以看到该消息的ReveivedFileName
上下文属性未被提升应该是这样吗?我无法弄清楚是否有任何提升方式,所以我只想确保它应该是这样的。
文件名相同,但我注意到发送消息的ReceivedFileName
属性没有路径,而接收的消息有路径+文件名。我试图添加发送消息的路径(听起来很奇怪,但在某处读它)但它并没有改变结果。
答案 0 :(得分:0)
虽然您可以在业务流程中设置上下文属性,但它们不已提升。
您必须使用此处描述的关联技术在按下MessageBox时提升属性:http://blogs.biztalk360.com/property-promotion-inside-orchestration/
基本上,您可以根据需要推荐的属性初始化相关集。
答案 1 :(得分:0)
正如Ben Runchey在上面的评论中指出的那样,必须求助于自定义管道并通过调用
来推广 FILE.ReceivedFileNamemessag.Context.Promote("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties", receivedFileName);
我还从 FILE.ReceivedFileName 中删除了只通过调用inmsg.Context.Read("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties")
并更改了值并通过调用将其写回:
inmsg.Context.Write("ReceivedFileName", "http://schemas.microsoft.com/BizTalk/2003/file-properties", receivedFileName);