Raisd on behalf of client
I am testing according to lseg C++ NIProvider tutorial.
I am testing on internal service “DTS_KL” of internal ric “USDFON=MBBGM”, the codes are like the following.
OmmProvider provider(OmmNiProviderConfig("c:\\temp\\process\\x64\\EMAConfig.xml").username("drdwhw"));
UInt64 serviceId = 1000;
UInt64 sourceDirectoryHandle = 1;
UInt64 ibmHandle = 5;
RefreshMsg refresh;
UpdateMsg update;
FieldList fieldList;
Connector::ConnectionStateListener _connectionStateListener;
provider.registerClient(
ReqMsg()
.domainType(MMT_LOGIN)
.name("drdwhw"),
_connectionStateListener,
(void*)0);
provider.submit(
refresh.clear().domainType(MMT_MARKET_PRICE).serviceName("DTS_KL").name("USDFON=MBBGM").state(
OmmState::OpenEnum,
OmmState::OkEnum,
OmmState::NoneEnum,
"UnSolicited Refresh Completed")
.payload(
fieldList
.addReal(22, 4.21, OmmReal::ExponentNeg2Enum) //BID_1 - 23, BID - 22
.addReal(25, 4.22, OmmReal::ExponentNeg2Enum) //ASK_1 - 26, ASK - 25
.complete()).complete(), ibmHandle);
provider.submit(update.clear().domainType(MMT_MARKET_PRICE).serviceName("DTS_KL").name("USDFON=MBBGM")
.payload(fieldList.clear()
.addReal(22, 4.21, OmmReal::ExponentNeg2Enum) //BID_1 - 23, BID - 22
.addReal(25, 4.22, OmmReal::ExponentNeg2Enum) //ASK_1 - 26, ASK - 25
.complete()), ibmHandle);
provider.submit(
StatusMsg()
.state(
OmmState::OpenEnum, // Stream state
OmmState::OkEnum, // Data state
OmmState::NoneEnum, // Data status
"All is good"), // Explanatory text
ibmHandle);
Our IT has checked that the ADH service is running, and I can get call back saying that refresh is completed after I send refresh message.
This shows that I can connect to ADH service.
Now my problem is after I submit the update message the data is not updated.