Installing and Running the Dynamic Resolution Sample

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The Dynamic Resolution sample demonstrates typical usage scenarios for the ESB Dispatcher and ESB Dispatcher Disassembler pipeline components. It demonstrates how you can use the components to dynamically resolve endpoint location, set routing properties, and resolve and execute BizTalk maps at the messaging level without using an orchestration. It also demonstrates both one-way and two-way messaging patterns.

For optimum results when familiarizing yourself with the resolution mechanism within the Microsoft ESB Guidance, we recommend you run the Resolver Service sample before you run the Dynamic Resolution sample.

The sample application contains two receive locations and two dynamic send ports, which the sample uses to demonstrate 17 different use cases for the dynamic resolution components. Each use case shows how the resolvers and adapter providers in the Resolution and Adapter Provider Framework, when used in combination, can provide the basis for a variety of loosely coupled messaging solutions.

All one-way messaging scenarios (except the one that uses the XPATH Resolver) use the file NAOrderDoc.xml, located in the \Source\Samples\DynamicResolution\Test\Data folder, as input to the receive location named DynamicResolution_FILE. There are seven one-way messaging examples, all represented by a unique binding file that you must be import before you execute each example.

All two-way messaging scenarios use the sample ESB.NorthAmericanServices Web service located at http://localhost/ESB.NorthAmericanServices/CustomerOrder.asmx to publish the request message into BizTalk. You can execute this Web service using InfoPath or through a utility such as the .NET Web Service Studio available from GotDotNet.

Each example dynamically resolves the endpoint URL to submit the message to the sample ESB.CanadianServices Web service located at http://localhost/ESB.CanadianServices/SubmitPOService.asmx. The example will execute either the submitOrder action or the submitPurchase action, depending on the results of the resolution process. The receive location for two-way messaging scenarios is DynamicResolutionReqResp_SOAP. There are ten two-way messaging examples, all represented by a unique binding file that you must be import before you execute each example.

The binding files for this sample are located in the folder named \Source\Samples\DynamicResolution\Samples. This folder contains two subfolders named Source and Release. If you have already built the Microsoft ESB Guidance from the source code, you must use the binding files located in the Source subfolder. If you have not already built the Microsoft ESB Guidance from the source code, and you are using the release version of the Microsoft ESB Guidance components, you must use the binding files located in the Release subfolder.

The binding file names all start with GlobalBank.ESB.DynamicResolution_SubmitOrder_To, followed by an indication of the individual example to which they apply. For example, the binding file for the "File Inbound to File Outbound using the STATIC Resolver" example is GlobalBank.ESB.DynamicResolution_SubmitOrder_To_FILE_To_FILE_STATIC_Bindings.xml.

Every time you import one of the binding files into the GlobalBank.ESB BizTalk application, the underlying receive location within the sample application is reset. The associated dynamic send port filters on the receive port name. Therefore, to execute a test, you just import one of the binding files and either drop the appropriately named message into the input folder (for one-way messaging scenarios) or call the NorthAmerican Web service using InfoPath, the .NET Web Service Studio utility, or any other suitable client.

The Dynamic Resolution sample has dependencies on a number of assemblies that are part of the core ESB installation. These assemblies are the following:

  • Microsoft.Practices.ESB.PipelineComponents.dll, which contains the ESB Dispatcher Pipeline component
  • Microsoft.Practices.ESB.Resolver.dll, which implements the Resolver Manager called by pipeline
  • Microsoft.Practices.ESB.Resolver.BRE.dll, which implements the Business Rules Engine Resolver
  • Microsoft.Practices.ESB.Resolver.STATIC.dll, which implements the STATIC Resolver
  • Microsoft.Practices.ESB.Resolver.UDDI.dll, which implements the UDDI Resolver
  • Microsoft.Practices.ESB.Resolver.WSMEX.dll, which implements the WS-MetaDataExchange Resolver
  • Microsoft.Practices.ESB.Resolver.XPATH.dll, which implements the XPATH Resolver
  • Microsoft.Practices.ESB.Resolver.Schemas.dll, which contains the resolver schemas
  • Microsoft.Practices.ESB.Adapter.dll, which implements the adapter manager
  • Microsoft.Practices.ESB.Adapter.FTP.dll, which implements the FTP adapter provider
  • Microsoft.Practices.ESB.Adapter.FILE.dll, which implements the FILE adapter provider
  • Microsoft.Practices.ESB.Adapter.MQSeries.dll, which implements the MQSeries adapter provider
  • Microsoft.Practices.ESB.Adapter.WcfBasicHttp.dll, which implements the WCF-BasicHttp adapter provider
  • Microsoft.Practices.ESB.Adapter.WcfWSHttp.dll, which implements the WCF-WSHttp adapter provider

The Dynamic Resolution sample is also dependent on correct configuration of the preceding resolvers and adapters. Make sure that you complete the process for configuring these, as described in the topic Configure BizTalk and Machine.config Files.

This section contains the following topics: