HTTP Receive Adapter Configuration in IIS 5.1

BizTalk 2006 Receive Adapter lets your application accepts XML messages over HTTP protocol, definitely you will need to use the HTTP Receive adapter to use the HTTP channel, for this purpose you will need to create a web application that constructs and posts an XML message to a receive location, if you have gone through consuming the HTTP Receive adapter you would know that you should host the adapter at one web application, basically this application is the main web application that’s posting the XML message to be dispatched by the receive adapter, and this web application will often be an ASP.NET application, for this purpose you will need to use the BizTalkServerIsolatedHost , as the web application or the ASP.NET application, that’s hosting the HTTP Receive adapter, is running in different process other than the BizTalk Process, so the isolated host will be used to give this out-of-process adapter an access to the BizTalk management database, but at the same time the web application should have the enough privileges to be provided to the isolated host to access the BizTalk management database, noting that all other adapters like FILE adapter are running under the BizTalk runtime except SOAP and HTTP adapters, so to be able to post XML messages to the HTTP receive adapter you need to grant your web application the proper identity to access the BizTalk management database.

I suppose that you copied the HTTP Receive adapter BTSHTTPReceive.dll DLL under your web application, this configurations are meant to Windows XP platform and Internet Information Server 5.1, so now you need to set permissions for your web application right from IIS manager MMC snap-in, run -> inetmgr, then spot your target web application, right click, select Properties, then from the Virtual Directory tab, set Execute Permissions to Scripts and Executables, and Application Protection to High (Isolated).

One more step is left; you need to configure the HTTP Receive Adapter from Component Services console, open the Component Services Console from Administrative Tools -> Component Services, from the left tree browse to Component Services -> Computers -> My Computer -> COM+ Applications -> IIS-{Default Web Site//Root/WebApplication, WebApplication is just a placeholder for your web application, right click this application, click Properties, select Identity tab, from Account group select System Account, and Interactive user – The current logged on user.

If you don’t set the HTTP Receive Adapter correctly; you will get an error message both in your web application, in case you handle errors, and in Event Log, this is the error message written to the Application Event Log:

The BizTalk HTTP receive adapter failed to initialize itself. Possible reasons:

1) Receive location URL is not created/configured correctly.

2) Receive location is not enabled.

3) HTTP receive adapter is not running under a user that has access to management and message databases.

4) Isolated host instance is not created for HTTP Receive adapter.

As you can see the error you will get most is number 3, and that’s we’ve resolved above.

Labels: