Trying to get data back from an item request in module 5 of the UPA Consumer training program. After running the application to try and get data from AAPL.MX I get the following
Successfully loaded field dictionary from (local) file.
Successfully loaded enum type dictionary from (local) file.
UPA Consumer application has successfully loaded both dictionaries from (local) files.
Channel IPC descriptor = 7
Channel 7 In Progress...
Channel In Progress - New FD: 7 Old FD: 7
Channel 7 In Progress...
Channel on fd 7 is now active - reading and writing can begin.
Channel 7 active. Channel Info:
Max Fragment Size: 6142
Output Buffers: 50 Max, 50 Guaranteed
Input Buffers: 10
Send/Recv Buffer Sizes: 87040/369280
Ping Timeout: 30
Connected component version: ads2.4.1.L1.linux.tis 64-bit
Received Login Refresh Msg with Stream Id 1
The refresh msg is a solicited refresh (sent as a response to a request).
Received Login Response for ApplicationId: 256
Received Login Response for ApplicationName: ADS
Received Login Response for Position: 10.135.31.46
Received Login Response for Username: a585657
State: Open/Ok/None - text: "Login accepted by host vc2c09mmk5076.fmr.com."
Login stream is OK and solicited
UPA Consumer application is granted access and has logged in successfully.
Ping message has been received successfully from the server due to data message ...
Received Source Directory Refresh
Received Source Directory Refresh for Decoded Service Id: 5250
Decoding Service Info Filter ID FilterListEntry
Received Source Directory Refresh for ServiceName: RDF
Service name: RDF (5250) is discovered by the OMM consumer.
Received Source Directory Refresh for Decoded Capabilities[0]: 5
RSSL_DMT_DICTIONARY domain type is supported.
Received Source Directory Refresh for Decoded Capabilities[1]: 6
RSSL_DMT_MARKET_PRICE domain type is supported.
Received Source Directory Refresh for Decoded Capabilities[2]: 10
Received Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0
Received Source Directory Refresh for DictionariesProvided[0]: RWFFld
Dictionary Provided: RWFFld with filename: RDMFieldDictionary
Received Source Directory Refresh for DictionariesProvided[1]: RWFEnum
Dictionary Provided: RWFEnum with filename: enumtype.def
Decoding Source State Filter ID FilterListEntry
Received Source Directory Refresh for Decoded ServiceState: 1
Received Source Directory Refresh for Decoded AcceptingRequests: 1
State: Open/Ok/None - text: ""
UPA Consumer application has successfully received source directory information.
Ping message has been received successfully from the server due to data message ...
Received Item Refresh Msg for stream 5
State: Open/Ok/None - text: "All is well"
AAPL.MX
DOMAIN: RSSL_DMT_MARKET_PRICE
PROD_PERM 14392
RDNDISPLAY 13876
DSPLY_NAME APPLE INC
RDN_EXCHID rsslDecodeEnum() failed with return code: -26
Error RSSL_RET_INCOMPLETE_DATA (-26) encountered with decodeMarketPricePayload. Error Text: Failure: Not enough data was provided.
Then when running the program in gdb I am able to see what data is given right before it fails and get
p *dataDictionary
$2 = {minFid = 1, maxFid = 32766, numberOfEntries = 15045, entriesArray = 0x7ffff7fa8010, isInitialized = 1 '\001',
enumTables = 0x7ffff7ee7010, enumTableCount = 523, info_DictionaryId = 1, infoField_Version = {length = 7,
data = 0x8b8d80 "4.20.25"}, infoEnum_RT_Version = {length = 7, data = 0x8b94b0 "4.20.25"}, infoEnum_DT_Version = {length = 5,
data = 0x8b9680 "16.71"}, infoField_Filename = {length = 7, data = 0x8b8d40 "RWF.DAT"}, infoField_Desc = {length = 19,
data = 0x8b8d60 "RDF-D RWF field set"}, infoField_Build = {length = 3, data = 0x8b8da0 "001"}, infoField_Date = {length = 11,
data = 0x8b8dc0 "19-May-2016"}, infoEnum_Filename = {length = 12, data = 0x8b93e0 "ENUMTYPE.001"}, infoEnum_Desc = {
length = 34, data = 0x8b9480 "IDN Marketstream enumerated tables"}, infoEnum_Date = {length = 11,
data = 0x8b9950 "30-Aug-2016"}}
I am not sure what data is missing but this is what is returned.
The other issue is then looking for the default symbol of TRI which will give me this response
Successfully loaded field dictionary from (local) file.
Successfully loaded enum type dictionary from (local) file.
UPA Consumer application has successfully loaded both dictionaries from (local) files.
Channel IPC descriptor = 7
Channel 7 In Progress...
Channel In Progress - New FD: 7 Old FD: 7
Channel 7 In Progress...
Channel on fd 7 is now active - reading and writing can begin.
Channel 7 active. Channel Info:
Max Fragment Size: 6142
Output Buffers: 50 Max, 50 Guaranteed
Input Buffers: 10
Send/Recv Buffer Sizes: 87040/369280
Ping Timeout: 30
Connected component version: ads2.4.1.L1.linux.tis 64-bit
Received Login Refresh Msg with Stream Id 1
The refresh msg is a solicited refresh (sent as a response to a request).
Received Login Response for ApplicationId: 256
Received Login Response for ApplicationName: ADS
Received Login Response for Position: 10.135.31.46
Received Login Response for Username: a585657
State: Open/Ok/None - text: "Login accepted by host vc2c09mmk5076.fmr.com."
Login stream is OK and solicited
UPA Consumer application is granted access and has logged in successfully.
Ping message has been received successfully from the server due to data message ...
Received Source Directory Refresh
Received Source Directory Refresh for Decoded Service Id: 5250
Decoding Service Info Filter ID FilterListEntry
Received Source Directory Refresh for ServiceName: RDF
Service name: RDF (5250) is discovered by the OMM consumer.
Received Source Directory Refresh for Decoded Capabilities[0]: 5
RSSL_DMT_DICTIONARY domain type is supported.
Received Source Directory Refresh for Decoded Capabilities[1]: 6
RSSL_DMT_MARKET_PRICE domain type is supported.
Received Source Directory Refresh for Decoded Capabilities[2]: 10
Received Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0
Received Source Directory Refresh for DictionariesProvided[0]: RWFFld
Dictionary Provided: RWFFld with filename: RDMFieldDictionary
Received Source Directory Refresh for DictionariesProvided[1]: RWFEnum
Dictionary Provided: RWFEnum with filename: enumtype.def
Decoding Source State Filter ID FilterListEntry
Received Source Directory Refresh for Decoded ServiceState: 1
Received Source Directory Refresh for Decoded AcceptingRequests: 1
State: Open/Ok/None - text: ""
UPA Consumer application has successfully received source directory information.
Ping message has been received successfully from the server due to data message ...
Received Item Refresh Msg for stream 5
State: Open/Ok/None - text: "All is well"
TRI
DOMAIN: RSSL_DMT_MARKET_PRICE
PROD_PERM 909456946
RDNDISPLAY 13879
DSPLY_NAME THOMSON REUTERS
RDN_EXCHID TFF(57)
TRDPRC_1
TRDPRC_2
TRDPRC_3 rsslDecodeReal() failed with return code: -29
Error RSSL_RET_INVALID_DATA (-29) encountered with decodeMarketPricePayload. Error Text: Failure: Invalid data provided to function.
I am not sure why this occurs but again when I set a breakpoint right before this occurs I have this data:
p fieldEntry
$4 = {fieldId = 8, dataType = 0 '\000', encData = {length = 5, data = 0xc70b4a "+43.8"}}
As can be seen the data is there from the fieldEntry. So but it does not seem to want to be passed any further. This is also an issue with it printing the data for TRDPRC_1 and TRDPRC_2.
Does anyone know why this is occurring?