/
Retail Order Instruction REST service

Retail Order Instruction REST service

Configuration

This service uses OrderInstructionService, PortfolioService and AccountService. These three WCF services need to be configured for HTTPS.
@Tómas Tómasson will document how that is done

C:\KodiakOrderManagementServer\Config\ServiceConfig\system.servicemodel.behaviors
C:\KodiakOrderEntryServer\Config\ServiceConfig\system.servicemodel.behaviors

<behavior name="HttpsBehaviour"> <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />

 

C:\KodiakOrderManagementServer\Config\ServiceConfig\system.servicemodel.bindings.config
C:\KodiakOrderEntryServer\Config\ServiceConfig\system.servicemodel.bindings.config

<binding name="WSHttpBinding_IPerformanceService" textEncoding="utf-8" maxReceivedMessageSize="20000000"> <readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000" /> </binding> <binding name="WSHttpBinding_IExternalQueryService" textEncoding="utf-8" maxReceivedMessageSize="20000000"> <readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000" /> </binding>

 

C:\KodiakOrderManagementServer\Config\ServiceConfig\system.servicemodel.client.config
C:\KodiakOrderEntryServer\Config\ServiceConfig\system.servicemodel.client.config

<?xml version="1.0" encoding="utf-8" ?> <client> <endpoint address="http://test-app-01/Libra.Services/Assetmanager/PerformanceService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IPerformanceService" contract="LibraServices.IPerformanceService" name="WSHttpBinding_IPerformanceService"> <!-- <identity> --> <!-- <userPrincipalName value="srv.iisapppool_test@fjaf.internal" /> --> <!-- </identity> --> </endpoint> <endpoint address="http://test-app-01/Libra.Services/Portfolio/ExternalQueryService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IExternalQueryService" contract="LibraServicesExternal.IExternalQueryService" name="WSHttpBinding_IExternalQueryService"> <!-- <identity> --> <!-- <userPrincipalName value="srv.iisapppool_test@fjaf.internal" /> --> <!-- </identity> --> </endpoint> </client>

 

In appsettings.json there are a few configs that need to be set;

  1. Add a connection string for the database in the ConnectionStrings section

    1. In Kodi.Kodiak.CustomerOrders.DataAccess DbContext - set the name of the connection string as parameter in the GetConnectionString() function

  2. Urls - The URL that the swagger is available on. In browser add /swagger/index.html

  3. BaseUrl - for example https://test-app-01.foss.internal:8081 for Fossar test

  4. OrderinstructionServiceURL, PortfolioServiceURL, AccountServiceURL - URLs to the services in Https

  5. ExternalSystemId - Libra

  6. OmsUserId

  7. AllocateWhenFilled - true/false

  8. DirectToMarket - true/false

  9. BypassBackoffice - true/false

To be able to run the service, the user that runs it has to have ‘Log on as a batch job’ and ‘Log on as a service’ permissions.
On Fossar test the service is run by the user svc_oms_service_test. It is in Task Scheduler to be run at 07:00 every day.

For the oms user to access the PortfolioService and AccountService you probably need to add them to the ACCESSRULE table.

Related content

Retail WCF Service
Retail WCF Service
More like this
FixService WCF Service in OMS Order Entry Server
FixService WCF Service in OMS Order Entry Server
More like this
OffExchangeService.svc
OffExchangeService.svc
More like this
KodiakService.svc
KodiakService.svc
More like this
Kodi.Kodiak.WindowsServices.OrderEntryServer.exe.config
Kodi.Kodiak.WindowsServices.OrderEntryServer.exe.config
More like this
Basic Authentication
Basic Authentication
More like this