# Monday, March 05, 2007

I've been working on a project where we have two independent BizTalk 2006 clusters -- one at the headquarters, and one (actually, a few) at some a remote office.  In order to send messages back and forth, we are using HTTP as the transport protocol.

For example, we first query an AS400/DB2 database (via the HOST adapters for BizTalk 2006) through a receive port/location.  This is picked up by a subscribing send port, which posts it via HTTP to the remote office.  That remote office has an receive port/location configured to listen on HTTP, via the BTSHTTPReceive.dll ISAPI extension.  This is then picked up by a send port that then inserts the data into an MSSQL database.

Having set this up a few times now, I've found that I keep making the same mistakes.  Consequently, here's my short-list of items to watch for when setting up HTTP for both send/receive in BizTalk 2006:

  • Make sure your application pool is configured to run under the context of your BizTalk use account
  • Confirm that your virtual directory has Scripts and Executables execute permissions
  • Copy the file "BTSHTTPReceive.dll" into your virtual directory from the folder "C:\Program Files\Microsoft BizTalk Server 2006\HttpReceive"
  • Make sure to configure a "Web Service Extension" in IIS for the "BTSHTTPReceive.dll" file
  • Remove anonymous access to your virtual directory, and use either Integrated or Basic authentication (preferrably Integrated)
  • Make sure your send port utilizes the same security context, so that it can post to the site
  • Confirm that your BizTalkUser account belongs to the BizTalk Server Administrators group

For your send port, configure your destination with a querystring value, like this: http://localhost/transport/BTSHTTPReceive.dll?MessageType.  I like to append the message type, but that's up to you.  For your receive location, configure your virtual directory plus ISAPI extension to something like: /transport/BTSHTTPReceive.dll?MessageType.

That's all I can think of off the top of my head.

Best of luck!

Thursday, August 07, 2008 5:35:26 AM (Central Standard Time, UTC-06:00)
You have mentioned that for your send port, configure your destination with a querystring value, like this: http://localhost/transport/BTSHTTPReceive.dll?MessageType.

We have a requirement where we have the following URL:

http://www.oanda.com/cgi-bin/fxml/fxml?fxmlrequest=<convert><client_id>oandatest</client_id><expr>USD</expr><exch>EUR</exch></convert>

We configured this URL as the destination URL for the send port, but it seems to ignoew the the querystring. Can you please elaborate on how to pass querystring in HTTP send port.
Kinnari Patwa
Name
E-mail
Home page

Comment (Some html is allowed: a@href@title, b) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Enter the code shown (prevents robots):

Live Comment Preview