|
|
(64 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | ===configSections===
| + | #REDIRECT [[Configuration_Files]] |
− | | + | |
− | In the configSection Tag service specific configuration sections can be defined. These settings include logging and exception handling in the ubik web service. This tag should not be changed generally.
| + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <configSections>
| + | |
− | <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
| + | |
− | <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
| + | |
− | </configSections>
| + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | ===loggingConfiguration===
| + | |
− | | + | |
− | Here the logging of the web service is configured for different types of information (errors, warnings, ...). It is important to specify a path where the system user executing the web service has all the needed access rights.
| + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <loggingConfiguration name="" tracingEnabled="true" defaultCategory="ASSERTION">
| + | |
− | <listeners>
| + | |
− | <add name="log.warning" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\.UBIK.LOG.BUILD\warnings.log" footer="" formatter="Text Formatter SMALL" header="-----------------------------------------------------------------" rollFileExistsBehavior="Increment" rollInterval="None" traceOutputOptions="None"/>
| + | |
− | <add name="log.error" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\.UBIK.LOG.BUILD\error.log" footer="" formatter="Text FormatterFULL" header="-----------------------------------------------------------------" rollFileExistsBehavior="Increment" rollInterval="Week"/>
| + | |
− | <add name="log.assertion" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\.UBIK.LOG.BUILD\assertion.log" footer="" formatter="Text Formatter ASSERTION" header="-----------------------------------------------------------------" rollFileExistsBehavior="Increment"/>
| + | |
− | <add name="log.debug" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\.UBIK.LOG.BUILD\debug.log" footer="" formatter="Text Formatter SMALL" header="----------------------------------------" rollFileExistsBehavior="Increment"/>
| + | |
− | <add name="log.error.header" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\.UBIK.LOG.BUILD\debug.error.header.log" footer="" formatter="Text Formatter TINY" header="-------------------------------------" rollFileExistsBehavior="Increment"/>
| + | |
− | <add name="servicelog" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\SericeLogs\Infopath.V2\infopath_service_v2.log" footer="" formatter="Text Formatter.SERVICE"/>
| + | |
− | <add name="servicelog.rolling" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | fileName="C:\UBIK_Logs\.UBIK.LOG.BUILD\service.build.V2.log" footer="" formatter="Text Formatter.SERVICE" header="########################################" rollFileExistsBehavior="Increment" rollSizeKB="1000" maxArchivedFiles="50"/>
| + | |
− | </listeners>
| + | |
− | <formatters>
| + | |
− | <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="Timestamp: {timestamp}{newline} Message: {message}{newline} Category: {category}{newline} Priority: {priority}{newline} EventId: {eventid}{newline} Severity: {severity}{newline} Title:{title}{newline} Machine: {localMachine}{newline} App Domain: {localAppDomain}{newline} ProcessId: {localProcessId}{newline} Process Name: {localProcessName}{newline} Thread Name: {threadName}{newline} Win32 ThreadId:{win32ThreadId}{newline} Extended Properties: {dictionary({key} - {value}{newline})}" name="Text FormatterFULL"/>
| + | |
− | <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{timestamp}{newline} {category} [{eventid}]{newline} {processName}{newline} {message}{newline}" name="Text Formatter ASSERTION"/>
| + | |
− | <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{timestamp}{newline} {category} [{eventid}] {processName}{newline} {message}{newline} Extended Properties: {dictionary({key} - {value}{newline})}" name="Text Formatter SMALL"/>
| + | |
− | <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{timestamp} {message}{newline}" name="Text Formatter TINY"/>
| + | |
− | <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{timestamp}{newline} {processName}{newline} {newline} Parameter: {newline} ----------------{newline} {dictionary({key} - {value}{newline})} {newline} Result:{newline} ----------------{newline} {message}{newline} " name="Text Formatter.SERVICE"/>
| + | |
− | </formatters>
| + | |
− | <categorySources>
| + | |
− | <add switchValue="All" name="ASSERTION">
| + | |
− | <listeners>
| + | |
− | <add name="log.assertion"/>
| + | |
− | </listeners>
| + | |
− | </add>
| + | |
− | <add switchValue="All" name="WARNING">
| + | |
− | <listeners>
| + | |
− | <add name="log.warning"/>
| + | |
− | </listeners>
| + | |
− | </add>
| + | |
− | <add switchValue="All" name="ERROR">
| + | |
− | <listeners>
| + | |
− | <add name="log.error.header"/>
| + | |
− | </listeners>
| + | |
− | </add>
| + | |
− | <add switchValue="All" name="DEBUG">
| + | |
− | <listeners>
| + | |
− | <add name="log.debug"/>
| + | |
− | </listeners>
| + | |
− | </add>
| + | |
− | <add switchValue="All" name="EXCEPTION">
| + | |
− | <listeners>
| + | |
− | <add name="log.error"/>
| + | |
− | </listeners>
| + | |
− | </add>
| + | |
− | <add switchValue="All" name="SERVICE">
| + | |
− | <listeners>
| + | |
− | <add name="servicelog.rolling"/>
| + | |
− | </listeners>
| + | |
− | </add>
| + | |
− | </categorySources>
| + | |
− | <specialSources>
| + | |
− | <allEvents switchValue="All" name="All Events"/>
| + | |
− | <notProcessed switchValue="All" name="Unprocessed Category"/>
| + | |
− | <errors switchValue="All" name="Logging Errors & Warnings">
| + | |
− | <listeners>
| + | |
− | <add name="log.error"/>
| + | |
− | </listeners>
| + | |
− | </errors>
| + | |
− | </specialSources>
| + | |
− | </loggingConfiguration>
| + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | ===exceptionHandling===
| + | |
− | | + | |
− | In this tag the settings for exception handling can be specified.
| + | |
− | | + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <exceptionHandling>
| + | |
− | <exceptionPolicies>
| + | |
− | <add name="System.Exception">
| + | |
− | <exceptionTypes>
| + | |
− | <add name="All Exceptions" type="System.Exception, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
| + | |
− | postHandlingAction="None">
| + | |
− | <exceptionHandlers>
| + | |
− | <add name="System.Exception" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | logCategory="EXCEPTION" eventId="100" severity="Error" title="System.Exception"
| + | |
− | formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
| + | |
− | priority="0" />
| + | |
− | </exceptionHandlers>
| + | |
− | </add>
| + | |
− | </exceptionTypes>
| + | |
− | </add>
| + | |
− | </exceptionPolicies>
| + | |
− | </exceptionHandling>
| + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | ===appSettings===
| + | |
− | | + | |
− | In this section, the settings of the UBIK service can be specified. The settings are described in chapter [[UBIK_Web_Service_Configuration|UBIK Web Service Configuration]].
| + | |
− | | + | |
− | Example 1:
| + | |
− | | + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <appSettings>
| + | |
− | <add key="UBIK.DataBase.ConnectionString" value="Data Source=ubikdbserver.mydomain;Initial Catalog=UBIK.MYDATABASE;User ID=myuser;Password=mypassword" />
| + | |
− | <add key="UBIK.Service.MaxIdleMinutes" value="5" />
| + | |
− | <add key="UBIK.Service.ValityPeriode" value="0" />
| + | |
− | <add key="UBIK.Service.TokenValityPeriode" value="300" />
| + | |
− | <add key="UBIK.Service.LogLevel" value="10" />
| + | |
− | <add key="UBIK.Service.UserRestrictive" value="1" />
| + | |
− | <add key="UBIK.Service.DeviceRestrictive" value="1" />
| + | |
− | <add key="UBIK.Service.TokenRestrictive" value="1" />
| + | |
− | <add key="UBIK.Service.LanguageID" value="0" />
| + | |
− | <add key="UBIK.Service.SessionManagementType" value="0" />
| + | |
− | <add key="UBIK.Service.SessionManagementUrl" value="" />
| + | |
− | </appSettings>
| + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | Example 2 (configured for an Microsoft Azure cloud database and a LAS service)
| + | |
− | | + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <add key="UBIK.DataBase.ConnectionString" value="Data Source=tcp:xxxxxxxx.database.windows.net,1433;Initial Catalog=UBIK.MYDATABASE;User ID=myclouduser@xxxxxxxx;Password=mypassword" />
| + | |
− | <add key="UBIK.Service.MaxIdleMinutes" value="5" />
| + | |
− | <add key="UBIK.Service.ValityPeriode" value="0" />
| + | |
− | <add key="UBIK.Service.TokenValityPeriode" value="300" />
| + | |
− | <add key="UBIK.Service.LogLevel" value="10" />
| + | |
− | <add key="UBIK.Service.UserRestrictive" value="1" />
| + | |
− | <add key="UBIK.Service.DeviceRestrictive" value="1" />
| + | |
− | <add key="UBIK.Service.TokenRestrictive" value="1" />
| + | |
− | <add key="UBIK.Service.LanguageID" value="0" />
| + | |
− | <add key="UBIK.Service.SessionManagementType" value="1" />
| + | |
− | <add key="UBIK.Service.SessionManagementUrl" value="https://myusamserver.mydomain/UBIK/USAM/USAM.svc/SOAP" />
| + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | ===system.web===
| + | |
− | | + | |
− | This does not have to be edited in general.
| + | |
− | | + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <system.web>
| + | |
− | <customErrors mode="Off"/>
| + | |
− | <httpRuntime maxRequestLength="65536" />
| + | |
− | <compilation debug="true" defaultLanguage="c#" targetFramework="4.0" />
| + | |
− | </system.web>
| + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | ===system.serviceModel===
| + | |
− | | + | |
− | In this section the web services are configured:
| + | |
− | * Behaviours for services and endpoints
| + | |
− | * Bindings (provides different configurations for data services and endpoints)
| + | |
− | * Services (used for the data service and the session management service)
| + | |
− | * Clients (the client definition is used by the data service to connect to the session management service defined in the appSettings)
| + | |
− | :The clients endpoint addresses are ignored as they are replaced by the settings provided in appSettings at service runtime!
| + | |
− | | + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <?xml version="1.0"?>
| + | |
− | <system.serviceModel>
| + | |
− | <behaviors>
| + | |
− | <serviceBehaviors>
| + | |
− | <behavior name="httpBehavior">
| + | |
− | <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
| + | |
− | <serviceMetadata httpsGetEnabled="true"/>
| + | |
− | <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
| + | |
− | <serviceDebug includeExceptionDetailInFaults="true"/>
| + | |
− | </behavior>
| + | |
− | </serviceBehaviors>
| + | |
− | <endpointBehaviors>
| + | |
− | <behavior name="httpBehavior">
| + | |
− | <webHttp/>
| + | |
− | </behavior>
| + | |
− | </endpointBehaviors>
| + | |
− | </behaviors>
| + | |
− | <bindings>
| + | |
− | <webHttpBinding>
| + | |
− | <binding transferMode="Streamed" name="WebHttpBinding_UBIKContent" sendTimeout="00:05:00" maxBufferPoolSize="67108864" maxReceivedMessageSize="67108864" maxBufferSize="67108864" receiveTimeout="01:00:00">
| + | |
− | <security mode="Transport">
| + | |
− | <transport clientCredentialType="None"/>
| + | |
− | </security>
| + | |
− | </binding>
| + | |
− | </webHttpBinding>
| + | |
− | <basicHttpBinding>
| + | |
− | <binding name="BasicHttpBinding_IUSAM" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
| + | |
− | <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
| + | |
− | <security mode="None">
| + | |
− | <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
| + | |
− | <message clientCredentialType="UserName" algorithmSuite="Default"/>
| + | |
− | </security>
| + | |
− | </binding>
| + | |
− | </basicHttpBinding>
| + | |
− | <wsHttpBinding>
| + | |
− | <binding name="WSHttpBinding_IUSAM" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
| + | |
− | <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
| + | |
− | <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
| + | |
− | <security mode="Transport">
| + | |
− | <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
| + | |
− | <message clientCredentialType="Windows" negotiateServiceCredential="true"/>
| + | |
− | </security>
| + | |
− | </binding>
| + | |
− | <binding name="WSHttpBinding_UBIKContent" maxReceivedMessageSize="67108864" receiveTimeout="01:00:00">
| + | |
− | <security mode="Transport">
| + | |
− | <transport clientCredentialType="None"/>
| + | |
− | </security>
| + | |
− | </binding>
| + | |
− | </wsHttpBinding>
| + | |
− | </bindings>
| + | |
− | <serviceHostingEnvironment multipleSiteBindingsEnabled="true" minFreeMemoryPercentageToActivateService="0"/>
| + | |
− | <services>
| + | |
− | <service name="UBIK.Service.UBIKContent" behaviorConfiguration="httpBehavior">
| + | |
− | <endpoint address="" behaviorConfiguration="httpBehavior" binding="webHttpBinding" bindingConfiguration="WebHttpBinding_UBIKContent" contract="UBIK.Service.IUBIKContent"/>
| + | |
− | <endpoint address="/SOAP" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_UBIKContent" contract="UBIK.Service.IUBIKContent"/>
| + | |
− | </service>
| + | |
− | <service name="UBIK.Service.USAM" behaviorConfiguration="httpBehavior">
| + | |
− | <endpoint address="" binding="webHttpBinding" behaviorConfiguration="httpBehavior" bindingConfiguration="WebHttpBinding_UBIKContent" contract="UBIK.Service.IUSAM"/>
| + | |
− | <endpoint address="/SOAP" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUSAM" contract="UBIK.Service.IUSAM"/>
| + | |
− | </service>
| + | |
− | </services>
| + | |
− | <client>
| + | |
− | <endpoint address="a" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUSAM" contract="USAMService.IUSAM" name="BasicHttpBinding_IUSAM"/>
| + | |
− | <endpoint address="a" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUSAM" contract="USAMService.IUSAM" name="WSHttpBinding_IUSAM"/>
| + | |
− | </client>
| + | |
− | </system.serviceModel>
| + | |
− | | + | |
− | </syntaxhighlight>
| + | |
− | | + | |
− | ===system.webServer===
| + | |
− | | + | |
− | This does not have to edited in general.
| + | |
− | | + | |
− | <syntaxhighlight lang="xml">
| + | |
− | <system.webServer>
| + | |
− | <modules runAllManagedModulesForAllRequests="true" />
| + | |
− | <directoryBrowse enabled="true" />
| + | |
− | <validation validateIntegratedModeConfiguration="false" />
| + | |
− | </system.webServer>
| + | |
− | </syntaxhighlight>
| + | |