|
|
|
|
Автор:
|
Anonymous (orconoid@mail.ru)
|
|
Тема:
|
Проблема с портом у MSMQ receieve function...
|
|
Дата:
|
7/11/2003 3:01:00 PM
|
Задача:
чтобы при поступленнии сообщения в заданную MSMQ очередь
запускался бы заданный XLANG скрипт
Проблема:
скрипт не запускается, хотя сообщение при активированной
receieve function читается из очереди и попадает в Work Queue
Детали:
Есть 2 .skx скрипта :
WriterScript - пишет в MSMQ очередь private$\myqueue
ReaderScript - читает из MSMQ очереди private$\myqueue
они нормально отрабатывают в XLANG EventMonitor-е
Есть message queuing receieve function:
MyReceiveFunction, настроенная на канал MyChannel
она читает данные из MSMQ очереди Direct=OS:.\private$\myqueue
Канал MyChannel ("from Application") подключен к порту MyPort
Source Application канала - XLANG Schedule
Inbound/outbound document definition name - CommonPO
(сам документ взят из примера и 100% валиден)
Если подключить несуществующий канал - в лог идут сообщения об ошибках
"не могу найти канал"
Если в канале в Inbound поставить не CommonPO -
"Validation of this document against its specification failed."
Т.е., на мой взгляд, канал вроде как работает.
Порт MyPort ("to Application"), подключенный к этому каналу:
Destination Application канала - XLANG Schedule - ReaderScript.skx
с правильным именем порта.
Насколько я понял из описания, скрипт должен автоматически запускаться
при попадании сообщения типа CommonPO в .\private$\myqueue,
но не запусакется ни под каким видом. Не уверен, что скрипт должен
читать данные _именно_ из очереди MSMQ, т.к. receive function перемещает
их в BizTalk-овскую Work queue... Но даже если поменять скрипт на другой,
типа WriterScript - который вообще ни из какой очереди не читает, а просто
что-то куда-то пишет - то все равно он не запускается.
Т.е. проблема в порте, точнее в его настройке.
Очевидно, я чего-то не понял. :(
|
|
|
|