Первое использование: VBScript не помещает сообщение в очередь MSMQ. - PullRequest
0 голосов
/ 09 января 2010

Я никогда раньше не использовал 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 ]

2 голосов
/ 11 января 2010

Выстрел в темноте здесь, но проверьте разрешения на вашем MSMQ. В качестве теста установите полные разрешения для «Все», а затем уменьшите масштаб, если он работает.

1 голос
/ 09 января 2010

Бесшумные сбои происходят в основном, когда вы отправляете без перехода (как вы делаете здесь) в транзакционную очередь. Попробуйте создать нетранзакционную очередь и отправить туда.

...