BizTalk Property Schemas in Different Namespaces
In BizTalk 2006 R2, I have noticed that sometimes the promoted property fields are not available. This seemed to be a random occurance so I decided to spend a little time investigating.
The property schema field will not show up in a Receive Shape filter. No matter how many times you build, rebuild, and close the solution it will not show up. Just for kicks, I set the property schema field to “MessageContextPropertyBase” (the default is MessageDataPropertyBase). I then built the project and sure enough the property field now shows up. Good right? Wrong – This type is only used for property fields that are promoted that are NOT included in your message. For example, if you had a custom pipeline that promoted a property not included in the message schema. The MessageDataPropertyBase should be used for fields included in the message.
Ok, so I started looking into this further and decided to open up an orchestration that was working with the Receive Shape filter. The property field used as the filter was in the same namespace as my orchestration’s message schema. The previous test that did not work used a message that was in a different BizTalk project than the property schema.
A property schema used in a different BizTalk project will not be available in Receive Shape filters. This also applies to intellisense used in the expression shapes. I am not sure if this a BizTalk bug or Microsoft intended this design. It seems like a proper design to have one common property schema for the solution where fields are available across projects.
Create a property schema in each BizTalk schema project.
Hope this helps in your future development where the promoted property field is not available.