我的客户有时会在其BizTalk文件丢弃位置接收“垃圾”消息,即不是接收位置过滤器预期类型的文件,例如.doc而不是.xls。文件适配器没有删除这种“垃圾”的选项 - 可能是有充分理由的 - 我们无法阻止这些文件的发件人偶尔发送它们。
我的解决方案是使用计划任务定期运行powershell脚本,该脚本将所有与接收位置过滤器不匹配的文件移动到文件夹,用户可以在其中检查文件,并删除任何“垃圾邮件”防止文件夹最终填满。
有没有更好的方法来实现这一目标?
答案 0 :(得分:0)
老实说,你已经提出了最简单的解决方案:) BizTalk上什么都没有真正帮助你避免这个问题,因此任何其他选项都会涉及为它添加自定义代码。
例如,您可以设置接收位置以选择文件(。),然后使用自定义管道组件来丢弃不需要的消息。
答案 1 :(得分:0)
感谢masr。
如果“files”是biztalk drop文件夹而“spam”是垃圾邮件文件的文件夹,那么这行PowerShell会将所有非csv文件从“files”文件夹移动到“spam”文件夹。
dir -path files -exclude * .csv | move-item -dest spam
然后通过保存到powershell脚本并通过Windows系统任务调度程序运行来运行。
答案 2 :(得分:0)
或者,您可以让“接收”位置查找所有文件,并删除BizTalk无法处理的已暂停消息。无论如何,有人正在监视管理控制台。