Search code examples
biztalkbiztalk-2013biztalk-orchestrations

message data property <promoted property> in correlation <correlation> does not exist in message <messagename>


When trying to compile my orchestration that contains a correlation set I get the following error:

message data property <promoted property> in correlation <correlation> does not exist in message <messagename>

The Orchestration references a dll which contains the HL7v2 schema where the promoted property DOES exist, yet for whatever reason the orchestration/correlation set can't see it during compilation and the project won't compile due to the above stated error.

Details:

  • in the Orchestration view, the Correlation Type and Correlation Set is all setup successfully.
  • In the Correlation Properties of my Correlation Type I am able to browse to and see the reference to the promoted field and select it successfully.
  • I've been removing/re-adding the dll reference every time to ensure it's not a stale reference
  • I've been checking the GAC and the dll is being updated when I re-compile the Schema
  • Tried changing namespaces on the Property Schema to custom and default and back and still no help.

I'm wondering now

  • does the schema containing the promoted property have to be in the same project as the orchestration?
  • Is there something special about correlations and the HL7 schemas (all the correlation examples are on a 'Hello World' level, so it doesn't help much)
  • anything else I can try to get this work, we need to correlate 2 messages using a couple promoted properties.

Solution

  • You cannot use Properties derived from MessageDataPropertyBase for Subscriptions, which is what the Correlation set would create.

    Change "Property Schema Base" to MessageContextPropertyBase. This on the property element in the Property Schema.

    Why does it show up on the list when you create the Correlation Type? An oversight (bug) in that property list.