ESB Guidance Resolver Manager Bug

I found a couple of "interesting" lines of code down inside the ESBG 1.0 resolver manager today.  Along with other things the resolver manager sets the properties that are ultimately used to route messages via the delivery agent.  Do a search for a constant named "DefaultWCFAdapter".  You’ll see it’s value is "WCF-BasicHTTP".  This constant is used by the resolver manager to overwrite the TransportType supplied in the resolver when a TransportLocation is found starting with "http" or "https". 

In other words if you want to do a HTTP POST then the delivery agent will be forced into using the WCF adpter which wraps your message in a SOAP envelope.  Not good!  Commenting out the resolver manager code that overwrites the TransportType will allow the delivery agent to use the TransportType as supplied in the resolver to be used when setting the TransportType context property on the dynamic send port.  So if an itinerary contains a resolver complete with TransportType=WCF-BasicHTTP then the WCF adapter will be used.  If an itinerary contains a resolver with TransportType=HTTP then the traditional HTTP adapter will be used complete with messages sans SOAP envelope.

Note the HTTP adapter also supports one way service calls where the WCF-BasicHTTP adapter does not.

Advertisements
This entry was posted in BizTalk Server. Bookmark the permalink.

Leave a Reply

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