我之前从未使用过MSMQ,但没关系。我公司里也没有其他人。但我们的产品供应商之一贪婪地使用它,却无法弄清楚我们的系统出了什么问题。所以,我正在考虑尽可能多的MSMQ来实现它。
我开始使用工作和非工作安装。在两个系统上都没有以下脚本将消息放入队列中。如果我提供有效的FormatName,脚本不会抛出错误,大概是因为它认为它已成功传递了消息。也许有一些方法我可以读取msmqlog.bin来找出真正发生的事情?
我在这个高杂草中失去了一个球。 :-(
<Job ID="MQCopyT">
<?Job Debug="True"?>
<Reference Object="MSMQ.MSMQApplication"/>
<Script language="VBScript">
Option Explicit
Dim objArgs
Set objArgs = WScript.Arguments
if (objArgs.Count <> 1) Then
WScript.Echo "Usage: " + Wscript.ScriptName + " <Dest Queue>"
WScript.Quit
End If
Dim QIDest
Set QIDest = WScript.CreateObject("MSMQ.MSMQQueueInfo")
QIDest.FormatName = "DIRECT=OS:" & objArgs(0)
Dim QDest
Set QDest = QIDest.Open(MQ_SEND_ACCESS, MQ_DENY_NONE)
Dim mqmsg
Set mqmsg = CreateObject("MSMQ.MSMQMessage")
'Set the body and label properties
mqmsg.Body = "Data adventure"
mqmsg.Label = "Data test"
mqmsg.Send QDest
</script>
</job>
答案 0 :(得分:2)
在黑暗中拍摄,但检查MSMQ上的权限。作为测试,为“Everyone”设置完全权限,然后在其工作时缩小。
答案 1 :(得分:1)
无提示失败主要发生在非过渡性(如此处)向事务性队列发送时。尝试创建一个非事务性队列并发送到那里。