When requesting the list of currencies ("currency" request), events in the event log will look as follows ({*}a sample scenario!{*}).
At the input, the SID check is performed (failed attempts are not written in logs, so that they will not be overfilled):
Authorization successful
Then, the license availability is checked:
Checking master license for object 199994545
Master license is actual for object 199994545
If the license is valid, the list of currencies is requested from the cache:
Get data of currencies for object=199994545
Get a list of currency for objectId=199994545
The data in cache is obsolete or missing; they should be requested from RK7:
Demand a data of currencies from RK7 directly
Data is requested in the background. However, if there is nothing to return to the user, a response from RK7 should be waited for:
List of currency is empty. Waiting for the list to be uploaded into cache from RK7 through WS.
Send a request to WS: objectId=199994545, taskGUID=c133d79d-8cc0-435b-a388-f993630d9468
The request has been sent to WS:
WsApi:
taskGUID=c133d79d-8cc0-435b-a388-f993630d9468,
size=390,
filename=request_c133d79d-8cc0-435b-a388-f993630d9468.xml,
<RQ cmd="exec_rk7call" tasktype="any_call" callback="http://172.22.5.223:5000/api/v1/callback/c133d79d-8cc0-435b-a388-f993630d9468" guid="c133d79d-8cc0-435b-a388-f993630d9468" timeout="90"><PARAM name="object_id" val="199994545"/><RK7Query><RK7CMD CMD="GetRefData" RefName="Currencies" IgnoreEnums="1" WithMacroProp="1" OnlyActive="1" PropMask="items.(ident, name, gen*)"/> </RK7Query></RQ>
WS response:
WsApi:
taskGUID=c133d79d-8cc0-435b-a388-f993630d9468,
size=119,
filename=response_c133d79d-8cc0-435b-a388-f993630d9468.xml,
<?xml version="1.0" encoding="utf-8"?>
<RP taskguid="27c800a0-64e6-4994-9250-fc12c92231f4" code="0" version="1.9.0" />
WS has successfully accepted the request, waiting for response now:
Request was sent to WS successfully: 199994545, taskGUID=c133d79d-8cc0-435b-a388-f993630d9468
Waiting an answer from WS: 199994545, taskGUID=c133d79d-8cc0-435b-a388-f993630d9468
WS has transmitted the response from RK7:
Callback procedure has executed:
taskGUID=c133d79d-8cc0-435b-a388-f993630d9468,
size=1645,
filename=callback_c133d79d-8cc0-435b-a388-f993630d9468.xml
<?xml version="1.0" encoding="UTF-8"?>
<RP cmdguid="27c800a0-64e6-4994-9250-fc12c92231f4" posid="7D3B75E3-761E-4BD5-BDD2-BF9931D7E68A">
<RK7QueryResult ServerVersion="7.6.0.108" XmlVersion="244" NetName="TEST_MIDSRV" Status="Ok" CMD="GetRefData" ErrorText="" DateTime="2019-01-18T15:42:06" WorkTime="0" Processed="1">
<RK7Reference DataVersion="35" ClassName="TCurrencies">
<Items>
<Item Ident="1" Name="Rubles" genForDelivery="1"/>
<Item Ident="2" Name="Euro" genForDelivery="1"/>
<Item Ident="3" Name="US Dollar" genForDelivery="1"/>
<Item Ident="4" Name="VISA" genForDelivery=""/>
<Item Ident="5" Name="Master Card" genForDelivery=""/>
<Item Ident="6" Name="American Express" genForDelivery=""/>
<Item Ident="7" Name="Diners Club" genForDelivery=""/>
<Item Ident="8" Name="Euro Cirrus Maestro" genForDelivery=""/>
<Item Ident="9" Name="JCB" genForDelivery=""/>
<Item Ident="10" Name="TCC payment" genForDelivery=""/>
<Item Ident="11" Name="Wire transfer" genForDelivery=""/>
<Item Ident="12" Name="Number" genForDelivery=""/>
<Item Ident="100369" Name="Token coins" genForDelivery=""/>
<Item Ident="100384" Name="Chips" genForDelivery=""/>
<Item Ident="100385" Name="Candy wrappers" genForDelivery=""/>
<Item Ident="100401" Name="Garus LLC" genForDelivery=""/>
<Item Ident="100465" Name="Vouchers" genForDelivery=""/>
<Item Ident="100733" Name="Wire transfer_1" genForDelivery=""/>
<Item Ident="1000033" Name="Bar coupon" genForDelivery="1"/>
<Item Ident="1000221" Name="Free" genForDelivery="1"/>
</Items>
</RK7Reference>
</RK7QueryResult>
</RP>
Acknowledge that the response from WS is correct, and parse it:
Answer was received from WS successfully: 199994545, taskGUID=c133d79d-8cc0-435b-a388-f993630d9468
Parse answer from WS
The received response has been transmitted for further processing to the source procedure (api/v1/Currency):
Return answer from WS
Cache the new data:
Loading data to cache from RK7 through WS was successful
Extract data of currencies from cache
Extracting data of currencies from cache was successful.
Convert to JSON:
Transfer data from RK format to JSON format
Prepare data for response
Return the response:
\{"data":\[\{"curid":1,"name":"Rubles","promised":""\},\{"curid":2,"name":"Euro","promised":""\},\{"curid":3,"name":"US Dollar","promised":""\},\{"curid":1000033,"name":"Bar coupon","promised":""\},\{"curid":1000221,"name":"Free","promised":""\}\],"ver":"1.2.17.24","timestamp":"2019-01-18T15:42:06","status":"Ok","requestId":"71547412cf1845d487196ae4f8bd8d74"\} |