none
How to filter on EDI context properties RRS feed

  • Question

  • Hi,

    I'm trying to subscribe to failed messages with a filter on an orchestration recieve shape.  I have no problem filtering on the ErrorReport context values as they are promoted.  Unfortunatly I also need to make sure I only subscribe to EDI messages since our BizTalk server process many different types of message formats.  Unfortunatly when I try to add a filter on a EDI context property the message subscription fails.  This is probably due to the Edi/PropertySchema context properties not being promoted.

    I have been unable to work out how to promote these properties so they are accessible for message routing.

    Any help would be much appreciated.

    Thanks in advance, Geordie.

    Wednesday, December 14, 2011 7:08 PM

Answers

  • Hi,

    I have determined the issue with filtering on the EDI context properties in my situation.  I am trying to build a standardized error notification.  To do this I am checking the 'Enable routing for failed messages' on the EDI recieve ports.  Then I want to use a single orchestration to process all failed messages.

    When the message is processed by the EDI recieve pipeline, the EDI properties are being promoted for routing.  Unfortunatly on message failure BTS demotes all these properties and adds a new property schema 'ErrorReporting'.  As a result you can only work with these limited properties for my filtering.

    This makes sense as it avoids code designed for good messages acccidently subscribing to failed messages.  unfortunatly the limited properties in the errorreporting schema will not allow me to isolate get the messages I need without hard coding the message types into my orchestration.  Not ideal.

    Geordie

    • Marked as answer by Geordie_ca Friday, December 16, 2011 1:08 AM
    Friday, December 16, 2011 1:08 AM

All replies

  • Hi,

    I have determined the issue with filtering on the EDI context properties in my situation.  I am trying to build a standardized error notification.  To do this I am checking the 'Enable routing for failed messages' on the EDI recieve ports.  Then I want to use a single orchestration to process all failed messages.

    When the message is processed by the EDI recieve pipeline, the EDI properties are being promoted for routing.  Unfortunatly on message failure BTS demotes all these properties and adds a new property schema 'ErrorReporting'.  As a result you can only work with these limited properties for my filtering.

    This makes sense as it avoids code designed for good messages acccidently subscribing to failed messages.  unfortunatly the limited properties in the errorreporting schema will not allow me to isolate get the messages I need without hard coding the message types into my orchestration.  Not ideal.

    Geordie

    • Marked as answer by Geordie_ca Friday, December 16, 2011 1:08 AM
    Friday, December 16, 2011 1:08 AM
  • Make your failed message suspended (unenlist all subscribers to the ErrorReport....).

    Then open a suspended message and look to the promoted properties. Which is promoted/not promoted.

    Then use the promoted props for filters.


    Leonid Ganeline [BizTalk MVP] BizTalk: Sample: Context Routing and Throttling with orchestration
    Tuesday, December 20, 2011 6:24 AM