hwcverwe
hwcverwe

Reputation: 5367

Biztalk filter send port inbound maps

Currently I am using a Static Solicit-Response Send port to communicate with an external webservice.

This external webservice returns following format:

- WebserviceResponse
  - Header
    - IsFaulted
    - ErrorMessage
- Body
  - ResultObject
    - ResultElement1
    - ResultElement2
    - ResultElementX

If IsFaulted is true, the Body is empty but the error message is filled.

Is there any way how I can use this response in two different maps, based on the IsFaulted value?

So I want:

Upvotes: 1

Views: 228

Answers (1)

Dan Field
Dan Field

Reputation: 21641

If you need a messaging-only solution, promote the IsFaulted property, create two more send ports that filter on that promoted property with a map assigned.

If you need the transforms to be applied on the single send port based on that field, you can probably get away with setting it as a distinguished field and then doing one of two things:

  1. Have your consuming orchestration (or create a consuming orchestration) parse the distinguished field and call the correct map.
  2. Custom pipeline component that parses that property from the context and call the map from the pipeline component.

If you're using the ESB toolkit, you could also look into:

  1. Use/create an ESB itinerary for the message and use the ESB toolkit to dynamically resolve the map.

Upvotes: 3

Related Questions