Using the Java UPA API, both the field dictionary and enumtypes files load via a file but fail when making a request using the code from the Consumer.java application (DictionaryHandler.sendRequest method). The example code uses the following string values and stream id's:
FIELD_DICTIONARY_DOWNLOAD_NAME = RWFFld FIELD_DICTIONARY_STREAM_ID = 3
ENUM_TYPE_DICTIONARY_DOWNLOAD_NAME = RWFEnum
ENUM_TYPE_DICTIONARY_STREAM_ID = 4
The assumption is that the download names are incorrect? Do these mnemonics map to a logical name associated with the underlying table?
The reasons that I can think of are:
Please run Consumer example with -x option to enable tracing.
The field and enum type dictionary download names should correspond to those specified in the "DictionariesProvided" entry of the source directory refresh message. I believe the correct name for field dictionary is usually "RWFFld". Try that instead of "RFFld" and see if it works.
Thanks - I actually keyed it into the post incorrectly but it is correct in the code (unchanged) and confirmed that this is coming back on the directory refresh message:
DirectoryRefresh: streamId: 2 State: Open/Ok/None - text: "null" clearCache: true solicited: true filter: INFO | GROUP | STATE Service: serviceId: 271 InfoFilter: serviceName: CONTEX vendor: null isSource: 0 supportsQosRange: 0 supportsOutOfBandSnapshots: 1 acceptingConsumerStatus: 1 capabilities: [5, 6, 10] dictionariesProvided: [RWFFld, RWFEnum] dictionariesUsed: [RWFFld, RWFEnum] qos: [Qos: Realtime/TickByTick/Static - timeInfo: 0 - rateInfo: 0]
I must have another issue...