<configuration>
  <configSections>
	<section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
	<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings,
      Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    <sectionGroup name="Connectivity.Request.Runtime" type="System.Configuration.ConfigurationSectionGroup, System.Configuration">
      <section name="Request" type="Connectivity.Request.Runtime.Configuration.RequestLibraryConfig, Connectivity.Request.Runtime"  />
      <section name="RuntimeService" type="Connectivity.Request.Runtime.Configuration.RuntimeServiceConfig, Connectivity.Request.Runtime"/>
      <sectionGroup name="RuntimeServiceConfig" type="System.Configuration.ConfigurationSectionGroup, System.Configuration">
        <section name="ObjectResolverService" type="Connectivity.Request.Common.Configuration.ObjectResolverServiceConfig, Connectivity.Request.Common"/>
        <section name="SubstitutionService" type="Connectivity.Request.Common.Configuration.SubstitutionServiceConfig, Connectivity.Request.Common"/>
        <section name="PropertyDefinitionExtensionService" type="Connectivity.Request.Foundation.Configuration.PropertyDefinitionExtensionServiceConfig, Connectivity.Request.Foundation"/>
      </sectionGroup>
    </sectionGroup>
  </configSections>
<Connectivity.Request.Runtime>
    <Request>
      <Libraries>
        <Library Name="Common Requests"     Assembly="Connectivity.Request.Common"/>
        <Library Name="Vault Requests"      Assembly="Connectivity.Request.Vault"/>
        <Library Name="Foundation Requests" Assembly="Connectivity.Request.Foundation"/>
        <Library Name="Document Requests"   Assembly="Connectivity.Request.Document"/>
      </Libraries>
    </Request>

    <RuntimeService>
      <Services>
        <!-- Connectivity.Request.Runtime Services -->
        <Service Name="Request Registry Service" Interface="Connectivity.Request.Runtime.Services.IRequestRegistryService, Connectivity.Request.Runtime" Type="Connectivity.Request.Runtime.Services.RequestRegistryService, Connectivity.Request.Runtime"/>
        <Service Name="Request Caching Service"  Interface="Connectivity.Request.Runtime.Services.IRequestCacheService, Connectivity.Request.Runtime"    Type="Connectivity.Request.Runtime.Services.RequestCacheService, Connectivity.Request.Runtime"/>

        <!-- Connectivity.Request.Common Services -->
        <Service Name="Validate Name Service"         Interface="Connectivity.Request.Common.Services.IValidateName, Connectivity.Request.Common" Type="Connectivity.Request.Common.Services.ValidateName, Connectivity.Request.Common"/>
        <Service Name="Currency Change Service"       Interface="Connectivity.Request.Common.Services.ICurrencyChangeService, Connectivity.Request.Common" Type="Connectivity.Request.Common.Services.CurrencyChangeService, Connectivity.Request.Common"/>
        <Service Name="Object Resolver Service"       Interface="Connectivity.Request.Common.Services.IObjectResolverService, Connectivity.Request.Common" Type="Connectivity.Request.Common.Services.ObjectResolverService, Connectivity.Request.Common"/>
        <Service Name="Soap Exception Parser Service" Interface="Connectivity.Request.Common.Services.ISoapExceptionParser, Connectivity.Request.Common" Type="Connectivity.Request.Common.Services.SoapExceptionParser, Connectivity.Request.Common"/>
        <Service Name="Substitution Service"          Interface="Connectivity.Request.Common.Services.ISubstitutionService, Connectivity.Request.Common" Type="Connectivity.Request.Common.Services.SubstitutionService, Connectivity.Request.Common"/>
        <Service Name="Temporary Directory Service"   Interface="Connectivity.Request.Common.Services.ITemporaryDirectoryService, Connectivity.Request.Common" Type="Connectivity.Request.Common.Services.TemporaryDirectoryService, Connectivity.Request.Common"/>

        <!-- Connectivity.Request.Vault Services -->
        <Service Name="Vault Connection Service" Interface="Connectivity.Request.Vault.Services.IVaultConnectionService, Connectivity.Request.Vault" Type="Connectivity.Request.Vault.Services.VaultConnectionService, Connectivity.Request.Vault"/>
        <Service Name="Vault Caching Service"    Interface="Connectivity.Request.Vault.Services.IVaultCacheService, Connectivity.Request.Vault"      Type="Connectivity.Request.Vault.Services.VaultCacheService, Connectivity.Request.Vault"/>

        <!-- Connectivity.Request.Foundation Services -->
        <Service Name="Property Definition Extension Service"
                 Interface="Connectivity.Request.Foundation.Services.IPropertyDefinitionExtension, Connectivity.Request.Foundation"
                 Type="Connectivity.Request.Foundation.Services.PropertyDefinitionExtensionService, Connectivity.Request.Foundation">
        </Service>

        <!-- Connectivity.Request.Document Services -->
      </Services>
    </RuntimeService>

    <RuntimeServiceConfig>
      <!-- List of registered PropertyDefinitionExtensions to be loaded by the 'Property Definition Extension Service' -->
      <PropertyDefinitionExtensionService>
        <PropertyDefinitionExtensions>
          <PropertyDefinitionExtension Name="FILE property definition extensions" Type="Connectivity.Request.Document.PropertyDefinitionExtensions.PropertyDefinitionExtension, Connectivity.Request.Document"/>
        </PropertyDefinitionExtensions>
      </PropertyDefinitionExtensionService>

      <!-- List of registered ObjectResolvers to be loaded by the 'Object Resolver Service' -->
      <ObjectResolverService>
        <ObjectResolvers>
          <!-- ObjectResolvers provided by Connectivity.Request.Document-->
          <ObjectResolver Type="Connectivity.Request.Document.ObjectResolvers.FolderResolver, Connectivity.Request.Document"/>
          <ObjectResolver Type="Connectivity.Request.Document.ObjectResolvers.FileVersionResolver, Connectivity.Request.Document"/>
          <ObjectResolver Type="Connectivity.Request.Document.ObjectResolvers.LabelResolver, Connectivity.Request.Document"/>
          <ObjectResolver Type="Connectivity.Request.Vault.ObjectResolvers.GroupResolver, Connectivity.Request.Vault"/>
          <ObjectResolver Type="Connectivity.Request.Vault.ObjectResolvers.UserResolver, Connectivity.Request.Vault"/>
          <ObjectResolver Type="Connectivity.Request.Vault.ObjectResolvers.RoleResolver, Connectivity.Request.Vault"/>
          <ObjectResolver Type="Connectivity.Request.Vault.ObjectResolvers.VaultResolver, Connectivity.Request.Vault"/>
          <ObjectResolver Type="Connectivity.Request.Document.ObjectResolvers.FileNumberSchemeResolver, Connectivity.Request.Document"/>
          <ObjectResolver Type="Connectivity.Request.Foundation.ObjectResolvers.PropertyDefinitionResolver, Connectivity.Request.Foundation"/>
          <ObjectResolver Type="Connectivity.Request.Foundation.ObjectResolvers.CategoryResolver, Connectivity.Request.Foundation"/>
          <ObjectResolver Type="Connectivity.Request.Foundation.ObjectResolvers.ContentSourceProviderResolver, Connectivity.Request.Foundation"/>
          <ObjectResolver Type="Connectivity.Request.Foundation.ObjectResolvers.EntityClassResolver, Connectivity.Request.Foundation"/>
          <!--<ObjectResolver Type="Connectivity.Request.Document.ObjectResolvers.File, Connectivity.Request.Document"/>-->
        </ObjectResolvers>
      </ObjectResolverService>

      <!-- List of registered substitutable entries (names) to be loaded by the 'Substitution Service' -->
      <SubstitutionService>
        <Substitutions>
          <!-- Substitutions provided by Connectivity.Request.Vault -->
          <Substitution Name="UserName" DataType="System.String" Type="Connectivity.Request.Common.Services.XmlSubstitution, Connectivity.Request.Common"/>
          <Substitution Name="Password" DataType="System.String" Type="Connectivity.Request.Common.Services.XmlSubstitution, Connectivity.Request.Common"/>
          <Substitution Name="Server"   DataType="System.String" Type="Connectivity.Request.Common.Services.XmlSubstitution, Connectivity.Request.Common"/>
          <Substitution Name="Vault"    DataType="System.String" Type="Connectivity.Request.Common.Services.XmlSubstitution, Connectivity.Request.Common"/>
        </Substitutions>
      </SubstitutionService>
    </RuntimeServiceConfig>
  </Connectivity.Request.Runtime>
<appSettings>
   <!-- WebService timeout (in milliseconds); 1000 secs = 1000000 milli-->
    <add key="WebServiceTimeout" value="1000000" />
  </appSettings>
<microsoft.web.services3>
    <messaging>
      <maxMessageLength value="51200">
      </maxMessageLength>
      <mtom clientMode="On" />
    </messaging>
    <security>
      <!-- Specifies the time buffer used by WSE to determine when a SOAP message is valid.
	         set to the max of 24hr in seconds -->
      <timeToleranceInSeconds value="86400" />
    </security>
  </microsoft.web.services3>
</configuration>
