Problem Statement
EMA Java (3.9.2.0, RTSDK version 2.3.2 L1) cannot connect to RTDS using a WebSocket connection using DictionaryType::ChannelDictionary even I have set the ADS *ads*enableMultipartDictionary : True. The log shows the following error message:
Failed to convert JSON message: JSON Converter parse error: Invalid UTF-8 middle byte 0x22
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 3187]
The EMA C++ 2.3.2.L1 does not encounter the issue and can connect to ADS successfully.
Detail:
- EMA Java (RTSDK 2.3.2L1) ex180_MP_Websocket
- ADS 3.8.2.L1
- JDK version 17
Replication Steps:
- Config ADS cnf file to enable the multipart dictionary (
*ads*enableMultipartDictionary : True)
- Restart ADS
- Set the Consumer_6 to use Dictionary_1 (
<Dictionary value="Dictionary_1"/>)
- Set the Channel_6 to connect to the ADS
- Run ex180_MP_Websocket
- Got an error message, while the EMA C++ works fine.
EmaConfig.xml file
<Consumer>
<Name value="Consumer_6"/>
<Channel value="Channel_6"/>
<Dictionary value="Dictionary_1"/>
<XmlTraceToStdout value="1"/>
<DefaultServiceID value="1"/>
<DictionaryRequestTimeOut value="999999"/>
</Consumer>
<Channel>
<Name value="Channel_6"/>
<ChannelType value="ChannelType::RSSL_WEBSOCKET"/>
<CompressionType value="CompressionType::None"/>
<GuaranteedOutputBuffers value="5000"/>
<Host value="rdc-pln-vm-adhads-1.gpic.int.refinitiv.com"/>
<Port value="15000"/>
<WsMaxMsgSize value="61440"/>
<WsProtocols value="tr_json2"/>
</Channel>
<Dictionary>
<Name value="Dictionary_1"/>
<DictionaryType value="DictionaryType::ChannelDictionary"/>
</Dictionary>
Error message:
{"ID":1,"Type":"Close","Domain":"Login"}
Failed to convert JSON message: JSON Converter parse error: Invalid UTF-8 middle byte 0x22
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 3187]
Attachment Files
- EMA Java trace log when the problem occurs: ex180_ws.log
- EMA C++ trac log that works fine: EMA_CPP_trace.zip
ex180_ws.log
EMA_CPP_trace.zip
Problem Statement
EMA Java (3.9.2.0, RTSDK version 2.3.2 L1) cannot connect to RTDS using a WebSocket connection using DictionaryType::ChannelDictionary even I have set the ADS
*ads*enableMultipartDictionary : True. The log shows the following error message:Failed to convert JSON message: JSON Converter parse error: Invalid UTF-8 middle byte 0x22
at [Source: REDACTED (
StreamReadFeature.INCLUDE_SOURCE_IN_LOCATIONdisabled); line: 1, column: 3187]The EMA C++ 2.3.2.L1 does not encounter the issue and can connect to ADS successfully.
Detail:
Replication Steps:
*ads*enableMultipartDictionary : True)<Dictionary value="Dictionary_1"/>)EmaConfig.xml file
Error message:
{"ID":1,"Type":"Close","Domain":"Login"}
Failed to convert JSON message: JSON Converter parse error: Invalid UTF-8 middle byte 0x22
at [Source: REDACTED (
StreamReadFeature.INCLUDE_SOURCE_IN_LOCATIONdisabled); line: 1, column: 3187]Attachment Files
ex180_ws.log
EMA_CPP_trace.zip