Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Next »

When the FIX servers are on the DMZ and not on the same domain as the OMS servers new username/password services must be added.

On the KODIAK Oms Server these configurations must be in place:

KodiakOrderEntryServer/Config/ServiceConfig/
CustomServices.config

<object id="InstrumentServiceBasic" type="Kodi.Kodiak.Services.InstrumentService, Kodi.Kodiak.BasicData" singleton="false" scope="session">
    <property name="InstrumentRepository" ref="InstrumentRepository"/>
    <property name="ExchangeRepository" ref="ExchangeRepository"/>
    <property name="ExchangeMembersRepository" ref="ExchangeMembersRepository"/>
    <property name="ExchangeTradersRepository" ref="ExchangeTradersRepository"/>
    <property name="TickSizeRepository" ref="TickSizeRepository"/>
    <property name="BrokerRepository" ref="BrokerRepository"/>
</object>

<object id="FixServiceBasic" type="Kodi.Kodiak.OrderEntry.FixServices.FixService, Kodi.Kodiak.OrderEntry.FixServices" singleton="false" scope="session">
    <property name="LoginRepository" ref="LoginRepository"/>
    <property name="UserRepository" ref="UserRepository" />
    <property name="GroupRepository" ref="GroupRepository" />
    <property name="DiscountCategoryRepository" ref="DiscountCategoryRepository" />
    <property name="SystemSettings" ref="SystemSettings" />
    <property name="ClientSettings" ref="ClientSettings" />
</object>

<object id="OrderInstructionServiceBasic" type="Kodi.Kodiak.Services.OrderInstructionService, Kodi.Kodiak.OrderInstructions" singleton="false" scope="session">
    <property name="OrderInstructionEntry" ref="OrderInstructionEntryDma"/>
    <property name="OrderInstructionSearch" ref="OrderInstructionSearch"/>
</object>


system.servicemodel.services.config

<service behaviorConfiguration="BasicAuthServiceBehavior" name="OrderInstructionServiceBasic">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IOrderInstructionService" >
        <identity>
            <dns value="localhost" />
        </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>

<service behaviorConfiguration="ServiceBehavior" name="InstrumentServiceBasic">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IInstrumentService" >
        <identity>
            <dns value="localhost" />
        </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>


system.servicemodel.bindings.config

Add the following in <basicHttpBinding>
<binding name="BasicAuthBinding"
    closeTimeout="00:10:00"
    openTimeout="00:10:00"
    receiveTimeout="00:10:00"
    sendTimeout="00:10:00" >
    <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Basic" />
    </security>
</binding>


system.servicemodel.behaviours.config

<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>


KodiakServicesServer/Config/Services

CustomServices
<object id="AdminServiceBasic" type="Kodi.Kodiak.Services.AdminService, Kodi.Kodiak.Admin" singleton="false" scope="session">
    <property name="MarketGatewayRepository" ref="MarketGatewayRepository"/>
    <property name="MarketGatewayConnectionRepository" ref="MarketGatewayConnectionRepository"/>
    <property name="ExchangeRepository" ref="ExchangeRepository"/>
    <property name="BrokerRepository" ref="BrokerRepository"/>
    <property name="UserRepository" ref="UserRepository"/>
    <property name="GroupRepository" ref="GroupRepository"/>
    <property name="ExternalUserRepository" ref="ExternalUserRepository"/>
    <property name="CustomerRepository" ref="CustomerRepository"/>
    <property name="PortfolioRepository" ref="PortfolioRepository"/>
    <property name="AccountRepository" ref="AccountRepository"/>
    <property name="TraderRepository" ref="TraderRepository"/>

    <property name="MarketGatewayEntityBuilder" ref="MarketGatewayEntityBuilder"/>
    <property name="MarketGatewayConnectionEntityBuilder" ref="MarketGatewayConnectionEntityBuilder"/>
    <property name="TraderEntityBuilder" ref="TraderEntityBuilder"/>
    <property name="BrokerEntityBuilder" ref="BrokerEntityBuilder"/>
  </object>  



system.servicemodel.services.config

<service behaviorConfiguration="BasicAuthServiceBehavior" name="OrderInstructionServiceBasic">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IOrderInstructionService" >
        <identity>
            <dns value="localhost" />
        </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>

<service behaviorConfiguration="ServiceBehavior" name="InstrumentServiceBasic">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IInstrumentService" >
        <identity>
            <dns value="localhost" />
        </identity>
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>


system.servicemodel.bindings.config

Add the following in <basicHttpBinding>
<binding name="BasicAuthBinding"
    closeTimeout="00:10:00"
    openTimeout="00:10:00"
    receiveTimeout="00:10:00"
    sendTimeout="00:10:00" >
    <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Basic" />
    </security>
</binding>


system.servicemodel.behaviours.config

<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>

The Client config in the FIX server must be in place:

Environment/system.servicemodel.client.config

<?xml version="1.0" encoding="utf-8"?>
<client>
    <!-- WsHttpBindings using windows authentication -->
            <endpoint address="http://XXXXX:8080/KodiakServiceBasic.svc" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IKodiakService" name="KodiakService" />
            <endpoint address="http://XXXXX:8080/InstrumentServiceBasic.svc" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IInstrumentService" name="InstrumentService" />          
            <endpoint address="http://XXXXX:8080/OrderInstructionServiceBasic.svc" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IOrderInstructionService" name="OrderInstructionService" />
            <!-- <endpoint address="http://XXXXX:8080/OrderInstructionServiceNyFixBasic.svc" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IOrderInstructionService" name="OrderInstructionService" /> -->
            
            
            
            <endpoint address="http://XXXXX:8080/AdminServiceBasic.svc" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.Services.ServiceContracts.IAdminService" name="AdminService" />
            <endpoint address="http://XXXXX:8080/FixServiceBasic.svc" behaviorConfiguration="BehaviorConfig" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.OrderEntry.FixServices.IFixService" name="FixService" />      
</client>

Environment/appSettings.config the following must be configed

	<add key="UseOmsBasicAuthentication" value="true" />
	<add key="OmsUsername" value="XXX" />
	<add key="OmsPassword" value="XXX"/>
  • No labels