I’ve come across a situation a couple of times in the past where I could not see certain (custom) properties in a Receive shapes’s filter list.  In my cases, this appeared to happen when:

  • I was attempting to use a property from a property schema that is in a different assembly from the schema that contains the node that you have promoted and

  • The schema that contains the promoted property’s underlying value is the base type for the message the Receive shape will receive and

  • I set the Property Schema Base to [the default] or MessageDataPropertyBase

An obvious solution is to make sure that your property schema and the schema whose node you have promoted are in the same assembly.  In my case I didn’t want to do this because I inherited a solution that has been used for quite a while and I didn’t want to create extra work for myself by having to restructure the artifacts.


Instead, I modified the underlying .odx file manually to add the Receive shape’s filter.  Here’s how you do it:

  • Make sure you have a reference to the property schema assembly and the schema (that uses the property) assembly.

  • Create a bogus Receive shape filter expression using any property and value that you like (set them to something you’ll remember when you have the .odx open in a text editor, see below); make sure you use the operator that you’re really going to use to make things easier on yourself.

  • Save the .odx.

  • Close the .odx.

  • Right click the .odx in the Solution Explorer and select ‘Open with…’

  • Open the file with your favorite text editor (add the text editor if necessary.)

  • Search for your bogus Receive shape filter’s property or value

  • Replace the //Property/@Value for the appropriate //Property/@LHS with the real property that you want to use in your filter.

  • Replace the //Property/@Value for the appropriate //Property/@RHS with the real value that you want to use in your filter.

  • Save the .odx file and close it.

  • Open the .odx in the Orchestration Designer.

  • View the Receive shape’s filter.

  • Compile the orchestration assembly to verify you didn’t break anything while using the text editor.