BizTalk 2013 R2 - форма решения не соответствует правильному пути logi c - PullRequest
0 голосов
/ 31 января 2020

Проблема со старым приложением Biz (не разработанным или разработанным мной).

Его оркестровка получает определенное сообщение, которое затем подается в форму Решения. Если применяется приведенная ниже логика c (как непосредственно скопированная / вставленная из выражения первой ветви формы), она должна go этот маршрут.

msg_inputCanonical.CRUD == "D" && msg_inputCanonical.DbTable == "Staff"

Однако я могу увидеть его завершение (используя Orchestration Отладчик), поскольку он следует за ветвью Else и в конечном итоге достигает конечной формы.

Я проверил msg_inputCanonical, чтобы подтвердить проходящие значения (как показано ниже, извлеченные из части Tracked Message), и вижу, что она соответствует строковое условие в соответствии с его отображением - CRUD = ChOp;

<DbTable>Staff</DbTable>
<ChOp>D</ChOp>

Я не вижу ничего другого, что может повлиять на этот маршрут, поэтому кто-нибудь может подумать о каких-либо причудах, которые могут его вызывать?

Примечание: я изменил хранимую процедуру WCF- SQL, которая генерирует msg_inputCanonical, поскольку до этого она не обрезала какие-либо значения CRUD / DbTable и оставляла мертвое пространство. также карта, которая использует фунтоиды ltrim / rtrim в свойстве ChOp, но опять же - не может видеть, какой вред подрезает готовое поле trim'd бы.

Я также попытался реплицировать logi c в среде разработчика, и он работает, как и ожидалось, по правильной ветви, когда я передаю сообщение через .

...