Biztalk Выдающаяся отраслевая проблема

Я передаю сообщение в biztalk, в результате чего появляется следующее приостановленное сообщение:

Внутреннее исключение: произошел сбой при оценке выделенного поля MessageStatus по данным части сообщения. Данные части сообщения не содержат по крайней мере один из узлов, указанных выражением XPath (перечисленным ниже), который соответствует выделенному полю. Причина этой ошибки может заключаться в том, что данные части сообщения не были инициализированы или данные части сообщения не соответствуют сообщению.

В своей оркестровке я использую карту, которая сопоставляет идентификатор с именем textID с полем textID в моем созданном сообщении «MessageAttempt». У меня также есть поле под названием MessageStatus со значением «Nothing», которое не следует путать.

После моей карты я использую фигуру назначения сообщения, чтобы установить для элемента MessageAttempt.MessageStatus значение «Попытка» с помощью следующего кода:

Message_MessageAttempt.MessageStatus = var_Attempt;

Я весь день пытался понять это. У меня есть аналогичная форма ConstructedMessage / Transform / Assignment в другой ветке в моей оркестровке, настроенная одинаково и отлично работает. Я не уверен, что мне может не хватать.


person Gakko no Ato    schedule 20.03.2015    source источник
comment
Поместите точку останова в вашу оркестровку сразу после конструкции и посмотрите, как выглядит сообщение, есть ли в нем узел MessageStatus и что бы он ни был родитель.   -  person Dijkgraaf    schedule 21.03.2015


Ответы (1)


Функтоин XPath не может найти элемент. Для этого есть две возможные причины.

  1. Элемент не существует. Если его не существует, вы должны сначала его создать. Вы можете сделать это на карте, установив для его свойства value значение <empty> или используя пустую функцию String Concatenate с выводом в этот узел.
    Вы сможете проверить это, войдя в концентратор группы и открыв приостановленное сообщение и просмотр части сообщения. Вы обнаружите, что он не содержит узла, на который ссылается XPath.

  2. Пространства имен в сообщении не определены должным образом. XPath в оркестровке сталкивается с проблемами, если вы не используете префиксы пространства имен для сообщения и просто полагаетесь на стандартный / пустой xmlns.

person Dan Field    schedule 21.03.2015
comment
Закончил выполнение всего в форме задания, несмотря на необходимость различать 3 поля. - person Gakko no Ato; 23.03.2015