Configuration Changes
Configuration file app settings have the following keys. Changes are in bold
Kodi.Kodiak.WindowsServices.OrderEntryServer.exe.config
<appSettings>
<add key="IsTest" value="true" />
<add key="Destination" value="INET" />
<add key="GatewayName" value="INET" />
<add key="GeniusUsername" value="USERNAME" />
<add key="GeniusPassword" value="PASSWORD" />
<add key="AllocationNotificationTemplateFile" value="C:\KodiakOrderEntryServer\Templates\AllocationNotificationTemplate.htm" />
<add key="ComplianceNotificationTemplateFile" value="C:\KodiakOrderEntryServer\Templates\ComplianceNotificationTemplate.htm" />
<add key="RiskCheckOrderLimitTemplateFile" value="C:\KodiakOrderEntryServer\Templates\RiskCheckOrderLimitTemplateFile.htm" />
<add key="RiskCheckDailyLimitTemplateFile" value="C:\KodiakOrderEntryServer\Templates\RiskCheckDailyLimitTemplateFile.htm" />
<add key="SendToFogBugz" value="false" />
<add key="EnableProfiler" value="false" />
<add key="INETTimeZone" value="W. Europe Standard Time" />
<add key="dllName" value="Kodi.Kodiak.Services" />
<!-- this should now point to the ServicesToRun.config file-->
<add key="SpringConfigFile" value="C:\KodiakServicesServer\Configs\ServicesToRun.config" />
<add key="CurrentDBDateSQL" value="SELECT GETDATE()" />
<add key="OrionServiceUrl" value="http://localhost/orion/OrionDataService.svc" />
<add key="QueueLocation" value="tcp://localhost:61616" />
<add key="MarketDataQueue" value="tcp://localhost:61616" />
<add key="BaseUrl" value="http://staging.kodiak.local:8080/" />
<add key="SMTPServer" value="mail.internet.is" />
<add key="NotificationFromAddress" value="noreply@kodiak.is" />
<add key="ComplianceOfficerEmail" value="user@kodiak.is" />
<add key="RiskCheckNotificationAddress" value="thor@kodiak.is" />
<add key="ClientOrderIdPrefix" value="KOD" />
<add key="FundExchangeName" value="VIB" />
<add key="BasicAuthUsername" value="USERNAME" />
<add key="BasicAuthUsernamePassword" value="PASSWORD" />
<add key="WebMethodsUsername" value="USERNAME" />
<add key="WebMethodsPassword" value="PASSWORD" />
<add key="IsInDevelopment" value="false" />
<!-- true If fund order entry should be allocated automatically. LAIS true ISB false-->
<add key="AutoAllocateFundOrders" value="true" />
<!-- true If fund order entry should not verify owned shares on buy-->
<add key="BypassFundOrderRiskCheck" value="true" />
<!-- THIS IS LAIS SPECIFIC-->
<add key="LibraConnectionString" value="Server=192.168.1.77;Initial Catalog=CATALOGNAME;User Id=USER_NAME;password=PASSWORD" />
<add key="DBType" value="MSSQL" />
</appSettings>
Â
Â
The spring context node should now look like the following.
<spring>
<context>
<!--Points to the objects parth of the spring config (see below)-->
<resource uri="config://spring/objects" />
<resource uri="~/Configs/KodiakAop.config" />
<resource uri="~/Configs/KodiakDatabase.config" />
<resource uri="~/Configs/KodiakNmsPublisher.config" />Â
<resource uri="~/Configs/KodiakServices.config" />
<resource uri="~/Configs/ServicesToRun.config" />
</context>
Â
The system.serviceModel now looks like this
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicAuthBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic" />
</security>
</binding>
<binding name="SoapBinding" 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=""></transport>
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="WSHttpBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false" maxBufferPoolSize="2147483646" maxReceivedMessageSize="2147483646">
<readerQuotas maxDepth="2147483646" maxStringContentLength="2147483646" maxArrayLength="2147483646" maxBytesPerRead="2147483646" maxNameTableCharCount="2147483646" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security>
<transport></transport>
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceAuthorization principalPermissionMode="Custom">
<authorizationPolicies>
<add policyType="Kodi.Kodiak.Security.AuthorizationPolicy, Kodi.Kodiak.Security" />
</authorizationPolicies>
</serviceAuthorization>
<serviceCredentials>
<windowsAuthentication includeWindowsGroups="true" allowAnonymousLogons="false" />
</serviceCredentials>
<serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="200" maxConcurrentInstances="200" />
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
<behavior name="BasicAuthServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Kodi.Kodiak.Security.BasicUsernamePasswordValidator, Kodi.Kodiak.Security" />
</serviceCredentials>
<serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="200" maxConcurrentInstances="200" />
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
<behavior name="ServiceBehaviorBasic">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="rest">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint address="http://genius.livemarketdata.com/genius3p/webservices/metadata.asmx" binding="basicHttpBinding" bindingConfiguration="SoapBinding" contract="MetaDataServices.MetaDataSoap" name="MetaDataSoap" />
<endpoint address="http://genius.livemarketdata.com/genius3p/WebServices/Genius.asmx" binding="basicHttpBinding" bindingConfiguration="SoapBinding" contract="KodiServices.KodiSoap" name="KodiSoap" />
</client>
<services>
<service behaviorConfiguration="ServiceBehavior" name="MarketService">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IMarketService"></endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="ServiceBehavior" name="OrderManagementService">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IOrderManagementService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="ServiceBehavior" name="FundOrderService">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IFundOrderService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="BasicAuthServiceBehavior" name="FundOrderServiceISB">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IFundOrderService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<service name="ExternalOrderEntryService" behaviorConfiguration="ServiceBehaviorBasic">
<endpoint address="" binding="webHttpBinding" contract="Kodi.Kodiak.Services.IExternalOrderEntryService" behaviorConfiguration="rest" />
</service>
</services>
Â
Â
Â
Â
Kodi.Kodiak.WindowsServices.ServicesServer.exe.config
<appSettings>
<add key="Destination" value="INET" />
<add key="GatewayName" value="INET" />
<add key="SendToFogBugz" value="false" />
<add key="GeniusUsername" value="USERNAME" />
<add key="GeniusPassword" value="PASSWORD" />
<add key="EnableProfiler" value="false" />
<add key="FIXParserDoc" value="C:\KodiakServicesServer\Fix42.xml" />
<add key="FIXServiceName" value="Kodiak INET Gateway" />
<add key="TIPServiceName" value="Kodiak INET MarketData service" />
<add key="OUCHServiceName" value="" />
<add key="ITCHServiceName" value="" />
<add key="TIPPerformanceCounterName" value="TIP" />
<add key="FIXPerformanceCounterName" value="" />
<add key="ITCHPerformanceCounterName" value="" />
<add key="OUCHPerformanceCounterName" value="" />
<add key="INETTimeZone" value="W. Europe Standard Time" />
<add key="CurrentDBDateSQL" value="select GETDATE()" />
<add key="NotificationFromAddress" value="noreply@kodiak.is" />
<add key="ComplianceOfficerEmail" value="user@kodiak.is" />
<add key="RiskCheckNotificationAddress" value="thor@kodiak.is" />
<add key="SMTPServer" value="mail.sip.is" />
<add key="ClientOrderIdPrefix" value="KOD" />
<add key="AllocationNotificationTemplateFile" value="C:\KodiakOrderEntryServer\Templates\AllocationNotificationTemplate.htm" />
<add key="ComplianceNotificationTemplateFile" value="C:\KodiakOrderEntryServer\Templates\ComplianceNotificationTemplate.htm" />
<add key="RiskCheckOrderLimitTemplateFile" value="C:\KodiakOrderEntryServer\Templates\RiskCheckOrderLimitTemplateFile.htm" />
<add key="RiskCheckDailyLimitTemplateFile" value="C:\KodiakOrderEntryServer\Templates\RiskCheckDailyLimitTemplateFile.htm" />
<add key="QueueLocation" value="tcp://localhost:61616" />
<!-- this should now point to the ServicesToRun.config file-->
<add key="SpringConfigFile" value="C:\KodiakServicesServer\Configs\ServicesToRun.config" />
<add key="BaseUrl" value="http://staging.kodiak.local:8080/" />
<add key="OrionServiceUrl" value="http://localhost/orion_service/OrionDataService.svc" />
<add key="ForwardContractsQueue" value="OrionTopic" />
<add key="OrionConnectionString" value="Data Source=DATACENTER;Initial Catalog=CATALOG;User Id=USERNAME;Password=PASSWORD" />
<add key="ManualSettlementText" value="MANUAL SETTLEMENT" />
<add key="SendToOrion" value="true" />
<add key="IsInDevelopment" value="true" />
</appSettings>
Â
The spring context node should now look like the following.
<spring>
<context>
<!--Points to the objects parth of the spring config (see below)-->
<resource uri="config://spring/objects" />
<resource uri="~/Configs/KodiakAop.config" />
<resource uri="~/Configs/KodiakDatabase.config" />
<resource uri="~/Configs/KodiakNmsPublisher.config" />
<resource uri="~/Configs/KodiakServices.config" />
<resource uri="~/Configs/ServicesToRun.config" />
</context>
Â
Â
Â
Â
Kodi.Kodiak.Inet.Tip.Gateway.exe.config
<appSettings>
<add key="appLogName" value="TipKodiak" />
<add key="appLogSource" value="TipGateway" />
<add key="GatewayName" value="INET" />
<add key="GeniusUsername" value="USERNAME" />
<add key="GeniusPassword" value="PASSWORD" />
<add key="UseWCFBondsCalc" value="true" />
</appSettings>
Â
Kodi.Kodiak.Clients.Broker.exe.config
<appSettings>
<!--Contains the url to the virtual directory of the machine running the Kodiak web services-->
<add key="UrlPrefix" value="http://staging.kodiak.local:8080/" />
<!--Contains the tcp url to the machine running Active MQ for trading data-->
<add key="QueueLocation" value="failover:(tcp://192.168.1.77:61616)?timeout=3000" />
<!--Contains the tcp url to the machine running Active MQ for market data-->
<add key="MarketDataQueue" value="failover:(tcp://192.168.1.77:61616)?timeout=3000" />
<add key="StaticDataUrl" value="https://staticdata.livemarketdata.com/v1/" />
<add key="RestartTime" value="03:00" />
<add key="MifidStartPageUrl" value="http://staging.kodiak.local/mifid/kodiakMifidProfile.aspx" />
<add key="MifidTestPageUrl" value="http://staging.kodiak.local/mifid/kodiakMifidTests.aspx" />
<add key="MifidTestResultsPage" value="http://staging.kodiak.local/mifid/KodiakMifidTestResults.aspx" />
<add key="MifidTestPageName" value="kodiakMifidTests.aspx" />
<add key="IsMarketMaker" value="false" />
<add key="MarketMakerSSN" value="111111111111" />
<add key="UseLandsbankiMifid" value="false" />
<add key="DebugMessages" value="true" />
<add key="ShowBypassBackOfficeCheck" value="false" />
<add key="ManualSettlementEnabled" value="true" />
<add key="UseInternalFunds" value="true" />
<add key="InternalFundOrderExchange" value="VIB" />
<add key="UseFundPriceDiscount" value="true" />
<add key="UserCanChangeFundProcessingFee" value="true" />
</appSettings>
Â
These Service configs should be added (the ones in bold)
<endpoint name="KodiakMifidService" contract="Kodi.Mifid.Common.IKodiakMifidService" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="MifidBinding" address="http://staging.kodiak.local/MifidServices/kodiakmifidservice.svc">
<identity>
<servicePrincipalName value="HOST/staging.kodiak.local:8080" />
</identity>
</endpoint>
<endpoint name="FundOrderService" contract="Kodi.Kodiak.Services.ServiceContracts.IFundOrderService" behaviorConfiguration="BehaviorConfig" binding="wsHttpBinding" bindingConfiguration="KodiakAD" address="http://urlprefix/FundOrderService.svc">
<identity>
<servicePrincipalName value="HOST/192.168.1.77:8080" />
</identity>
</endpoint>
<endpoint name="DiscountService" contract="Kodi.Kodiak.Services.ServiceContracts.IDiscountService" behaviorConfiguration="BehaviorConfig" binding="wsHttpBinding" bindingConfiguration="KodiakAD" address="http://staging.kodiak.local/Libra/DiscountService.svc">
<identity>
<servicePrincipalName value="HOST/staging.kodiak.local" />
</identity>
</endpoint>
Â
Â
Â