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:
<configSections>
<sectionGroup name="Microsoft.Csf">
<section name="ConfigFiles" type="System.Configuration.NameValueSectionHandler,
System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089,
Custom=null"/>
</sectionGroup>
<section name="microsoft.web.services2"
type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration,
Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<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:
<system.web>
<httpHandlers>
<!-- 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" />
...
</httpHandlers>
<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:
<Microsoft.Csf>
<ConfigFiles>
<add key="Common" value="C:\CsfConfig\Common.config" />
<add key="IdentityManager" value="C:\CsfConfig\IdentityManager.config"
/>
</ConfigFiles>
</Microsoft.Csf>
<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.
<microsoft.web.services2>
<diagnostics>
<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"/>
</diagnostics>
<!-- security policy
configuration -->
<policy>
<cache name="C:\CsfConfig\PolicyCache.config" />
</policy>
<!-- Test certification
location and flags to allow test certs to work -->
<security>
<x509 storeLocation="LocalMachine" allowTestRoot="true"
allowRevocationUrlRetrieval="false" verifyTrust="false" />
</security>
<!-- production certification
lookup location
<security>
<x509 storeLocation="LocalMachine"/>
</security>
-->
</microsoft.web.services2>
<appSettings> holds the path to the
EnterpriseInstrumentation.config file, as well as additional
configuration parameters:
<appSettings>
<add key="instrumentationConfigFile" value="C:\CsfConfig\EnterpriseInstrumentation.config"
/>
</appSettings>