Reserved words and Distinguished Fields

The other day I built a schema that was the cause of much confusion and time wasting. Basically the tiny schema was being used by a centralised error handling process, that was designed to subscribe to and publish errors. The schema had a number of child elements, two of which were named "message" and "source". Each field in the schema was distinguished (not promoted) to allow participating orchestrations to examine and/or manipulate the error message instances.

So thinking it be business as usual (BAU) I went about assigning the distinguished message fields using various expression and assignment orchestration shapes. To my frustration the VS.NET XLANG editor (the one you get when editing an expression or assignment) kept red-squiggly underlining the "message" and "source" distinguished fields whenever I attempted to reference them (as below)—with the unhelpful error message of "Unexpected keyword: message, cannot find symbol".

myMessage.myRoot.message or myMessage.myRoot.source

It turns out that I was unlucky, message and system are reserved words in the XLANG grammar. Be careful of XLANG reserved words when distinguishing message fields.

BizTalk
Posted by: Ben Simmonds
Last revised: 28 Jun, 2011 01:17 PM

Comments

Espen
Espen
22 Apr, 2008 10:24 AM

How did you solve this? Do you need to use XPATH to reference nodes with reserved words?

27 Oct, 2008 03:19 PM

Superb, this post just saved me. I must admit that one of the many things that I hate about Biztalk is the unhelpful/misleading error messages.

No new comments are allowed on this post.