/
Retail WCF Service

Retail WCF Service

Overview

RetailOrderInstructionService is a rest service used to create and manager orders for clients.

It contains the following operations:

"/login/{ssn}" Stream Login(string ssn); "/customerinfo/{ssn}" Stream CustomerInfo(string ssn); "/create/{ssn}" Stream Create(string ssn, CreateOrderInstructionRetailDmaRequest json); "/update/{ssn}" Stream Update(string ssn, UpdateOrderInstructionsRetailDmaRequest json); "/cancel/{ssn}" Stream Cancel(string ssn, CancelOrderInstructionRetailDmaRequest json); "/calculateorder/{ssn}" Stream CalculateOrder(string ssn, CalculateOrderRetailDmaRequest request); "/portfoliooverview/{ssn}" Stream GetPortfolioOverview(string ssn, Kodi.Kodiak.OrderEntry.Retail.Contracts.PortfolioOverviewRequest request); "/portfolioposition/{ssn}" Stream GetPortfolioPosition(string ssn, Kodi.Kodiak.OrderEntry.Retail.Contracts.PortfolioPositionRequest request); "/portfoliotransactions/{ssn}" Stream GetPortfolioTransactions(string ssn, Kodi.Kodiak.OrderEntry.Retail.Contracts.PortfolioTransactionsRequest request); "/accountbalance/{ssn}" Stream GetAccountBalance(string ssn, Kodi.Kodiak.OrderEntry.Retail.Contracts.AccountBalanceRequest request); "/searchorders/{ssn}" Stream SearchOrders(string ssn, Kodi.Kodiak.OrderEntry.Retail.Contracts.OrderSearchRequest request); "/searchtrades/{ssn}" Stream SearchTrades(string ssn, Kodi.Kodiak.OrderEntry.Retail.Contracts.TradeSearchRequest request);

Prerequisites

What do we need from 5D?

  • 5D Endpoints - Paths to PerformanceService and ExternalQueryService

  • Authorization/user configuration - The identity of windows user needed to call those services. This user is specified in appSettings.config as RetailsCustomerUserId

Setup

The Kodi.Kodiak.OrderEntry.Retail.dll file needs to be present in C:/KodiakOrderEntryServer

A correct version of Kodi.Kodiak.Adapters.Libra.dll (above 3.1.1.52) needs to be present in C:/KodiakOrderEntryServer

Configuration

The following configuration files need to be set

1: config/serviceconfig/CustomServices.config

This file contains the depency injection cofiguration for the service.

<object id="RetailOrderInstructionService" type="Kodi.Kodiak.Services.RetailOrderInstructionService, Kodi.Kodiak.OrderEntry.Retail" singleton="false" scope="request"> <property name="LibraExtSystemId" value="Libra"/> <property name="DefaultUserIdForRetailCustomers" value="${RetailCustomersUserId}"/> <property name="UserRepository" ref="UserRepository"/> <property name="CustomerRepository" ref="CustomerRepository"/> <property name="RetailKodiakService" ref="RetailKodiakService"/> <property name="RetailOrderInstructionEntryService" ref="RetailOrderInstructionEntryService"/> <property name="RetailSearchService" ref="RetailSearchService"/> <property name="PortfolioService" ref="PortfolioServiceImplementation"/> <property name="AccountService" ref="AccountServiceImplementation"/> </object>

2: config/serviceconfig/system.servicemodel.services.config

This setting needs to be added here for the Wcf system to load the service.

<!-- For use with Retail DMA --> <service behaviorConfiguration="ServiceBehaviorBasic" name="RetailOrderInstructionService"> <endpoint address="" binding="webHttpBinding" contract="Kodi.Kodiak.Services.IRetailOrderInstructionService" behaviorConfiguration="rest" /> </service>

3: Config/Spring/Kodi.Kodiak.OrderEntry.Retail.config

This file contains configuartion for RetailKodiakService, RetailOrderInstructionService and RetailSearchService

4: Kodi.Kodiak.WindowsServices.OrderEntryServer.exe.config

This line needs to be present under the context node of spring.

5: config/Adapters.config

The OrderValidationAdapterRetail needs to be configured. OrderValidationAdapterRetail uses PortfolioServiceImplementationand AccountServiceImplementation which are defined in Spring/Kodi.Kodiak.Allocations.config. Those nodes use PortfolioPositionAdapter and AccountBalanceAdapter are also configured in Adapters.config.

6: config/environment/appSettings.config

An important setting here is RetailCustomerUserId which maps to the user which will be used when creating orders and calling libra services.

7: config/serviceconfig/system.servicemodel.client.config

This file contains the web service client configuration used to call Libra services.

8: config/serviceconfig/system.servicemodel.bindings.config

The client config in section 7 need wsHttpBindings.

 

 

 

 

Related content

Retail Order Instruction REST service
Retail Order Instruction REST service
More like this
OffExchangeService.svc
OffExchangeService.svc
More like this
KodiakService.svc
KodiakService.svc
More like this
CustomerUpdateService
CustomerUpdateService
More like this
FixService WCF Service in OMS Order Entry Server
FixService WCF Service in OMS Order Entry Server
More like this
AllocationService.svc
AllocationService.svc
More like this