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
textibmHandle);
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.
support ticket raised as 14606472 as well.