Connected Services Framework

The Web.config file is the primary configuration file for any web service. Since the CSF connectors are implemented as web services, their Web.config files must have the proper setting in order for the connectors to function. Each connector relies on the Web.config to be able to find the Common.config, EnterpriseInstrumentation.config, PolicyCache.config, and the location of their own configuration files.

Complete details of the web.config file can be found at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconformatofconfigurationfiles.asp

The five sections of the Web.config file that are critical to the operation of the CSF connectors - <configSections>, <system.web><httpHanders>, <Microsoft.Csf>, <microsoft.web.services2>, and <appSettings>.

<configSections> contains the "Microsoft.Csf" and "Microsoft.Web.Services2" <sectionGroup> tags - these <sectionGroup> tags need to be specified in order for the sections to be used properly. Here is an example:

<sectionGroup name="Microsoft.Csf">
<section name="ConfigFiles" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/>
<section name="microsoft.web.services2" type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration, Microsoft.Web.Services2, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

 <system.web><httpHandlers> this section maps a default path to an object and assembly name. This enables IIS to locate the correct Dll when it receives a call for one of the CSF connectors. Here is an example from the Identity Manager's Web.config file:

<!-- Identity manager handlers -->
<add verb="*" path="OrganizationManager.ashx" type="Microsoft.Csf.Connector.IdentityManager.OrganizationManager, Microsoft.Csf.Connector.IdentityManager" />
<add verb="*" path="UserGroupManager.ashx" type="Microsoft.Csf.Connector.IdentityManager.UserGroupManager, Microsoft.Csf.Connector.IdentityManager" />

<Microsoft.Csf> this section specifies the CSF-specific settings, such as the location of the Common.cofig file, and the location of the connector's individual configuration file. Here is an example from the Identity Manager's Web.config file:

<add key="Common" value="C:\CsfConfig\Common.config" />
<add key="IdentityManager" value="C:\CsfConfig\IdentityManager.config" />

<microsoft.web.serivces2> section specifies the location of the WSE Trace files in the <diagnostics> tag - note that the <policyTrace> tag is optional. The <policy> tag hold the path to the PolicyCache.config file. The <security> tag holds the values for using certificates.

<trace enabled="true" input="c:\CsfTrace\Identity_InputTrace.webinfo" output="c:\CsfTrace\Identity_OutputTrace.webinfo" />
<policyTrace enabled="true" input="C:\CsfTrace\Identity_receivePolicy.webinfo" output="C:\CsfTrace\Identity_sendPolicy.webinfo"/>

<!-- security policy configuration -->
<cache name="C:\CsfConfig\PolicyCache.config" />

<!-- Test certification location and flags to allow test certs to work -->
<x509 storeLocation="LocalMachine" allowTestRoot="true"
allowRevocationUrlRetrieval="false" verifyTrust="false" />

<!-- production certification lookup location
<x509 storeLocation="LocalMachine"/>

<appSettings> holds the path to the EnterpriseInstrumentation.config file, as well as additional configuration parameters:

<add key="instrumentationConfigFile" value="C:\CsfConfig\EnterpriseInstrumentation.config" />