Configure an HTTP Receive Location in BizTalk 2009

November 22, 2011 at 3:07 pm Leave a comment

Microsoft BizTalk Server is an excellent messaging and orchestration engine capable of great flexibility in implementing different integration patterns. One of the most common and easy to build is Restful interchanges using HTTP POST. In my experience I’ve found this way of communication with BizTalk very popular with older legacy systems and in house applications.

To enable your BizTalk installation to receive documents using HTTP POST you just need to perform the following easy steps.

First you need to configure the IIS 7.0 worker process isolation mode

Open the IIS 7.0 Manager Console

image

In Internet Information Services, select the root Web server entry. In the Features View, double-click Handler Mappings, and then in the Actions pane, click Add Script Map.

image

image

In the Add Script Map dialog box, in the Request path field, type BtsHttpReceive.dll.

In the Executable field, click the ellipsis (…) button and browse to C:\Program Files (x86)\Microsoft BizTalk Server 2009\HttpReceive64\BTSHTTPReceive.dll. Select BtsHttpReceive.dll and then click OK.

In the Name field, type BizTalk HTTP Receive, and then click Request Restrictions.

image

In the Request Restrictions dialog box, click the Verbs tab and then select One of the following verbs. Enter POST as the verb.

image

On the Access tab, select Script, and then click OK.

image

On the Access tab, select Script, and then click OK.

image

Right-click the BTSHttpReceive.dll entry, and then select Edit Feature Permissions.

image

Ensure that Read, Script and Execute are selected, and then click OK.

image

Click Features View, and then double-click ISAPI and CGI Restrictions.

image

Ensure that an entry for BTSHTTPReceive.dll exists, and that Restriction is set to Allowed.

image

Right-click Application Pools, point to New, and then click Application pool.

image

In the Add Application Pool dialog box, in the Name box, type a name for the application pool. Select NET Framework 2.0.50727 and then click OK.

image

In Application Pools, in the Features View, select the new application pool, and then click Advanced Settings in the Actions pane.

image

In the Advanced Settings dialog box, in the Process Model section, in the Identity field, click the ellipsis (…) button.

image

In the Application Pool Identity dialog box, select Custom account, and then click Set. Click OK to close the Advanced Settings dialog box. Enter the User name and Password for a user account that is a member of the administrators group, enter the password in Confirm password and then click OK three times to return to the IIS Manager.

image

In IIS Manager, open the Sites folder. Right-click the Default Web Site and then click Add Application.

image

In the Add Application dialog box, in Alias, enter an alias to associate with the application, and then click Select. In the Select Application Pool dialog box, select the new application pool you created earlier, and then click OK. Click the ellipsis (…) button and browse to  C:\Program Files (x86)\Microsoft BizTalk Server 2009\HttpReceive64\ for the Physical path.

image

Click Connect As and enter the User name and Password for a user account that is a member of the Administrators group, and then click OK.

image

Click Test Settings and verify that no errors are displayed in the Test Connection dialog box. Click Close, and then click OK.

image

The new application appears in the list of Default Web Sites in Internet Information Services (IIS) Manager.

Once IIS 7.0 is properly configured you can proceed to create and configure an HTTP Receive Location in BizTalk.

Open the BizTalk 2009 Administration Console, expand your application folder, right click on Receive Ports and select One-way Receive Port…

image

Give your port a meaningful name and click on Receive Locations

image

Click on New…

image

Write down a meaningful name for the Receive Location, select HTTP type and XMLReceive as receive pipeline. Once finished click on Configure…

image

Specify the name of the virtual directory where you post the messages received by the HTTP/HTTPS receive location. The virtual directory includes the name of the receive location DLL and an optional query string. In this example I want the receive location only to listen for messages posted using the MyPOTransaction_XML query string. This way I can isolate the message type each receive location will handle.

image

Additionally you can define the following useful settings:

Return Content type. Specify the content type of HTTP response messages that the receive location sends back to clients. This property is valid only for request-response receive locations. Default value: text/xml.

Loopback. Define that the request message received on this location is routed either to a send port or back to this receive location to be sent as a response. This property is valid only for request-response receive locations. Default value: False.

Return correlation handle on success (One way port only). Define that if successful, the receive location sends the correlation token of the submitted message on the HTTP response to the client. This property is valid only for one-way receive locations. Default value: True.

Use Single Sign On. Indicate that Enterprise Single Sign-On is used. Default value: False.

Suspend Failed Requests. Indicate whether or not to suspend HTTP requests that fail inbound processing. Default value: False.

Click OK to close the remaining windows, navigate to the Receive Locations folder and enable the artifact just created.

image

Now your BizTalk installation is ready to receive documents from another parties and posted by HTTP.

Keep in mind that by default the HTTP Adapter processes incoming connections in a 10 messages batch. If your partner system is going to be submitting messages at a higher rate to BizTalk you probably would need to increase this parameter to reduce latency.

image

As you can see the BizTalk HTTP Receive Location is a very powerful and easy to configure communication channel. Give it a try if you haven’t done so!.

Advertisements

Entry filed under: BizTalk. Tags: , , .

.Net Framework 4.0 disrupts BizTalk ENTSSO Service How to set up Correlation Sets in BizTalk 2010

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

Trackback this post  |  Subscribe to the comments via RSS Feed


November 2011
M T W T F S S
« Oct   Jan »
 123456
78910111213
14151617181920
21222324252627
282930  

Categories


%d bloggers like this: