% MessageID% отличается от BTS.MessageID - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь идентифицировать сообщения, которые я сохраняю в папке, используя свойство MessageID. Однако значения MessageID отличаются от значений, которые я получаю, когда использую BTS.MessageID. Почему?

В моей оркестровке я получаю сообщение «myMsg» с принимающего порта (с приемным конвейером: XML Receive). После этого я проверяю myMsg(BTS.MessageID) значение с

System.Diagnostics.EventLog.WriteEntry("MessageID", System.String.Format("The Value = {0}", myMsg(BTS.MessageID)));

и я получаю, например, это значение: c9953bec-72a8-4274-9ea3-d7770c52d4ab

Затем я отправляю свое сообщение через порт отправки (с конвейером отправки: PassThruTransmit)

При сохранении сообщения его имя: {EE2AB9A1-FA3C-4737-BB02-6AC0C0EA5EBC} .xml

Почему они разные? Я думал, что они будут одинаковыми.

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

То, что вы видите, - это ожидаемое поведение.

Сообщение - это отдельная публикация в MessageBox, поэтому сообщение, опубликованное портом получения, отличается от сообщения, опубликованного оркестровкой, поэтому разные значения MessageID.

Хотя вы можете «знать», что это одно и то же сообщение, для BizTalk это не так.

0 голосов
/ 26 мая 2019

Каждое сообщение уникально.Предположим, у вас есть 2 порта отправки, куда будет отправлено это сообщение оркестровки.Вы ожидаете, что у него будет тот же идентификатор сообщения, что и у оркестровки?Я надеюсь, что нет, потому что у вас будет 2 экземпляра сообщения с одинаковым идентификатором сообщения.(На самом деле 3, потому что вы также должны считать, что ваше сообщение оркестровки).

Я думаю, что вы ищете InterchangeID, этот остается прежним.

...