Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

  
    <service behaviorConfiguration="BasicAuthServiceBehavior" name="FixServiceBasic">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicAuthBinding" contract="Kodi.Kodiak.OrderEntry.FixServices.IFixService" >
      <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>

...

Code Block
	<add key="UseOmsBasicAuthentication" value="true" />
	<add key="OmsUsername" value="XXX" />
	<add key="OmsPassword" value="XXX"/>

Create User Group and Default user in AdminX

Create External User in AdminX with the correct customer the external user will be connect to the correct Comp Id ín the FIX server