第一次使用:VBScript不会在MSMQ队列上放置消息

时间:2010-01-08 21:17:19

标签: vbscript msmq

我之前从未使用过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>

2 个答案:

答案 0 :(得分:2)

在黑暗中拍摄,但检查MSMQ上的权限。作为测试,为“Everyone”设置完全权限,然后在其工作时缩小。

答案 1 :(得分:1)

无提示失败主要发生在非过渡性(如此处)向事务性队列发送时。尝试创建一个非事务性队列并发送到那里。