Another ESB Toolkit Itinerary Gotcha: Be Sure to Correctly Set IsRequestResponse on Off-Ramp Extenders

If you use a two-way send as part of an itinerary, be sure to set the IsRequestResponse attribute of the Off-Ramp Extender to True.

This is one of those things that, when putting together an itinerary in a hurry, is easy to overlook. If, like me, you do at some point overlook this critical detail, you may end up seeing an exception such as this:

There was a failure executing the response(receive) pipeline: "Microsoft.Practices.ESB.Itinerary.Pipelines.ItineraryForwarderSendReceive, Microsoft.Practices.ESB.Itinerary.Pipelines, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "ESB Itinerary Cache" Send Port: "YOUR_SEND_PORT" URI: "http://YOUR_URI" Reason: Object reference not set to an instance of an object.

The ItineraryForwarderSendReceive pipeline component is expecting an output message, which, because IsRequestResponse was set to False, was not provided. Hence, we see the often cryptic “Object reference not set to an instance of an object” exception.  Just set IsRequestResponse to True, and all should be well.

Advertisements

About Ed Jones

Ed is a Connected Systems and .NET Specialist for RBA in the Twin Cities. Contact Ed

4 responses to “Another ESB Toolkit Itinerary Gotcha: Be Sure to Correctly Set IsRequestResponse on Off-Ramp Extenders”

  1. Matt Milner (@Milnertweet) says :

    Thanks Ed, you just saved me a ton of time. I wouldn’t have thought to look at that setting b/c it was on a port in my itinerary I haven’t touched in a while. But, I made some other changes and somehow got this set back to false. Fixed it to true and was back up and running.

  2. Ratnakar says :

    i found another reason of receiving this error even though isReqResp property is set to true in off ramp extender. The send pipeline on the 2 way send port should be Iterinerary send pass through and not pass thru transmit.

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: