HTTPSolicitResponse
The HTTPSolicitResponse sample demonstrates how to create a Microsoft BizTalk Server orchestration that leverages an ASP.NET application to help process orchestration data. In this sample, the orchestration makes use of a request/response port to send a message to the ASP.NET application and to retrieve the response. You achieve the integration between the BizTalk Server orchestration and the ASP.NET application by using the HTTP adapter. For more information, see HTTP Adapter.
This sample consists of a BizTalk Server orchestration that receives a request containing two numbers to be multiplied, and satisfies that request using the following sequence of steps:
The BizTalk Server orchestration retrieves an .xml input file from a specific folder.
The orchestration uses an HTTP request to forward the XML from the file to a multiplier ASP.NET application.
The multiplier ASP.NET application responds to the HTTP request by performing the multiplication and returning the result as XML in the HTTP response.
The orchestration receives the result as XML in an HTTP response, and writes that result to an .xml file in a specific folder.
<Samples Path>\AdaptersUsage\HTTPSolicitResponse
The following table shows the files in this sample and describes their purpose.
File(s) | Description |
---|---|
Cleanup.bat | Undeploys assemblies and removes them from the global assembly cache (GAC); removes send and receive ports; removes Microsoft Internet Information Services (IIS) virtual directories as needed. |
HttpSolicitResponse.btproj, HttpSolicitResponse.sln | Provides project and source files for the BizTalk project that contains the orchestration that uses the multiplier ASP.NET application, the associated schemas, and so on. |
HttpSolicitResponseBinding.xml | Provides for automated setup such as port binding. |
MultiplyRequest.xsd, MultiplyResponse.xsd | Provides schemas for the multiplication request and response XML messages, respectively. |
MultiplyTwoIntegers.odx | Provides a BizTalk Server orchestration that receives an .xml file requesting a multiplication operation, forwards the request to the multiplier ASP.NET application, and writes its response to a file. |
request_in.xml | Sample input file. |
Setup.bat | Builds and initializes this sample. |
In the \Multiplier folder: Multiplier.aspx, Multiplier.aspx.cs, Multiplier.sln |
Contains files that constitute the ASP.NET application that implements the multiplier service, including project and solution files, ASPX files, Microsoft Visual C# .NET source files, and so on. |
Use the following procedure to build and initialize the HTTPSolicitResponse sample.
Note
This sample doesn't work if the name of the receive location contains any uppercase characters.
In a command window, navigate to the following folder:
<Samples Path>\AdaptersUsage\HTTPSolicitResponse
Run the file Setup.bat, which performs the following actions:
Creates the input and output folders for this sample:
<Samples Path>\AdaptersUsage\HttpSolicitResponse\HttpSolicitResponseInput
<Samples Path>\AdaptersUsage\HttpSolicitResponse\HttpSolicitResponseOutput
Compiles and configures the multiplier ASP.NET application used by this sample.
Note
While creating application pool in IIS Manager, set the DefaultAppPool .NET Framework version to .Net Framework v4.0.
Compiles and deploys the BizTalk Server orchestration used in this sample.
Creates and binds the necessary BizTalk Server receive location and ports.
Note
This sample displays the following warnings when creating and binding the ports:
Note
Warning: Receive handler not specified for receive location "HttpSolicitResponseReceiveLocation"; updating with first receive handler with matching transport type.
Note
Warning: Host not specified for orchestration "Microsoft.Samples.BizTalk.HttpSolicitResponse.MultiplyTwoIntegers"; updating with first available host.
Enables the receive location, and starts the send port.
Note
The orchestration in this sample uses a two-way port for the HTTP interaction with the ASP.NET application.
Note
You should confirm that BizTalk did not report any errors during the build and initialization process before attempting to run this sample.
Note
If you choose to open and build the projects in this sample without running the file Setup.bat, you must first create a strong name key pair using the .NET Framework Strong Name Utility (sn.exe). Use this key pair to sign the resulting assemblies.
Note
To undo changes made by Setup.bat, run Cleanup.bat. You must run Cleanup.bat before running Setup.bat a second time.
Use the following procedure to run the HTTPSolicitResponse sample.
Paste a copy of the file request_in.xml into the folder HttpSolicitResponseInput.
Observe the .xml file created in the folder HttpSolicitResponseOutput. The name of this .xml file is based on the message ID GUID. This file contains the XML-formatted result of the multiplication operation.
Note
You can change the operand values in the input file to perform a different multiplication operation.
You can adapt this sample to communicate with a different external system that exposes an HTTP interface.
The files MultiplyRequest.xsd and MultiplyResponse.xsd are the XML schemas that define the format of the input and output data for the multiplier ASP.NET application. The orchestration uses these files to define the request and response message types.