You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BizTalk环境中不修改应用,如何获取挂起消息的ReceivedFileName?

获取BizTalk挂起消息的ReceivedFileName属性

方法一:查询SQL数据库

BizTalk的消息上下文属性存储在默认名称为BizTalkMsgBoxDb的消息箱数据库中,无需改动应用即可直接查询。

操作步骤:

  1. 先查询ReceivedFileName属性对应的PropertyId:
SELECT PropertyId, Name, Namespace
FROM BizTalkMsgBoxDb.dbo.PropertySchema
WHERE Name = 'ReceivedFileName'
AND Namespace = 'http://schemas.microsoft.com/BizTalk/2003/file-properties'
  1. 用获取到的PropertyId关联查询挂起消息的属性值:
SELECT 
    i.ServiceInstanceId,
    m.MessageId,
    cp.Value AS ReceivedFileName
FROM BizTalkMsgBoxDb.dbo.Instances i
JOIN BizTalkMsgBoxDb.dbo.Messages m ON i.InstanceId = m.InstanceId
JOIN BizTalkMsgBoxDb.dbo.MessageContextProperties cp ON m.MessageId = cp.MessageId
WHERE 
    i.SuspendStatus = 1 -- 1代表消息处于挂起状态
    AND cp.PropertyId = '替换为第一步查询到的PropertyId'

方法二:使用PowerShell脚本

借助BizTalk的WMI接口或管理对象模型,无需修改应用即可提取挂起消息的上下文属性。

示例脚本:

# 加载BizTalk管理组件
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")

# 配置BizTalk服务器信息
$bizTalkServer = "你的BizTalk服务器名称"

# 获取所有挂起的服务实例
$suspendedInstances = Get-WmiObject -ComputerName $bizTalkServer -Namespace root/MicrosoftBizTalkServer -Query "SELECT * FROM MSBTS_ServiceInstance WHERE ServiceInstanceStatus=4"

foreach ($instance in $suspendedInstances) {
    # 获取实例关联的消息
    $messages = Get-WmiObject -ComputerName $bizTalkServer -Namespace root/MicrosoftBizTalkServer -Query "SELECT * FROM MSBTS_MessageInstance WHERE ServiceInstanceId='$($instance.ServiceInstanceId)'"
    foreach ($msg in $messages) {
        # 查询ReceivedFileName属性值
        $props = Get-WmiObject -ComputerName $bizTalkServer -Namespace root/MicrosoftBizTalkServer -Query "SELECT * FROM MSBTS_MessageContextProperty WHERE MessageInstanceId='$($msg.MessageInstanceId)' AND Name='ReceivedFileName' AND Namespace='http://schemas.microsoft.com/BizTalk/2003/file-properties'"
        if ($props) {
            Write-Host "实例ID: $($instance.ServiceInstanceId) | 消息ID: $($msg.MessageInstanceId) | ReceivedFileName: $($props.Value)"
        }
    }
}

注意:运行脚本的账号需具备BizTalk管理数据库和消息箱数据库的读取权限。

内容的提问来源于stack exchange,提问作者iamramanavenkat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:40:05