BizTalk平面文件失败的邮件路由

时间:2010-05-06 02:47:06

标签: biztalk biztalk2006r2

我在Web上发现了一些断线,人们声称能够在使用XLANGMessage类型的业务流程中使用接收形状来接收无法组装到特定xsd的平面文件架构文件。

我尝试将接收形状中的messagetype设置为Microsoft.XLANGS.BaseTypes.XLANGMessage,但此基本类型不可序列化。这会导致构建错误。

是否有一个对象类型可以捕获格式正确的xml消息的XmlDocuments以及格式错误的xml和未组合的平面文件?

1 个答案:

答案 0 :(得分:0)

以粗体回答您的直接问题 - 是的,您所追求的类型是System.Xml.XmlDocument

您需要做的是创建一条新消息,在选择其类型时,从.NET Classes部分选择上述类型。

当分配给接收形状时,此消息可以接收任何有效负载,例如,我经常使用它来通过BizTalk传递.pdf文件等格式,我无需解析它们。但要注意的是,尽管有这个名字,你在这里所拥有的不是Xml,如果你试着这样做就会引起各种各样的问题。


进一步深入研究您的问题 - 您是否尝试进行某种错误处理编排?

如果您正在使用错误处理代码,则可以使用接收类型为XmlDocument的消息的接收形状,其过滤器表达式设置为ErrorReport.ErrorType ==“FailedMessage”绑定到直接附加到消息框的绑定端口。

我经常发现有两个接收形状很方便,一个用于捕获路由失败,当我们有任何可能的有效负载时,另一个用于订阅您定义的强类型故障包装器信封并从其他业务流程中传出来自他们的CatchException形状。

这意味着您可以构建一个集中位置来处理所有异常。


如果你还没有看到它,那么有一个很好的post by Charles Young可以描述类似于你想要做的事情。