Contributor does not work
I have downloaded the Contributor example and followed the tutorial to the letter but don't seem to be able to create an OmmConsumer. When I run it, I get the following output:
Contributing to Refinitiv Contributions Channel
Starting encrypted connection...
May 17, 2022 4:32:09 PM com.refinitiv.ema.access.ChannelCallbackClient reactorChannelEventCallback
WARNING: loggerMsg
ClientName: ChannelCallbackClient
Severity: Warning
Text: Received ChannelDownReconnecting event on channel Channel_1
RsslReactor @1ef6d34c
RsslChannel @1ecee32c
Error Id 0
Internal sysError 0
Error Location Reactor.processWorkerEvent
Error text Error initializing channel: errorId=-1 text=General SSLEngine problem
loggerMsgEnd
I have set the RCC_HOST_NAME to contrib-ws1-emea1.uat.platform.refinitiv.com and the port to 443 and have created the keystore as specified.
Can anyone give me any ideas as to what might be wrong?
Thanks!
Best Answer
-
According to the error message, it could be a certificate issue.
If you are using EMA Java 3.5.1.L1 or above, the application doesn't need to specify a key store file in the code.
Both ETA Java and EMA Java 3.5.1.L1 Issues Resolved
- [RTSDK-3866] - RTSDKJ Client Side Encryption: Set default Certificate Authority keystore location in Java so a jks file isn't requiredYou can modify the code, as shown below.
OmmConsumer consumer = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig());
//.tunnelingKeyStoreFile("KEYSTORE_FILE_NAME")
//.tunnelingKeyStorePasswd("KEYSTORE_PASSWORD"));Moreover, this endpoint (contrib-ws1-emea1.uat.platform.refinitiv.com) is for WebSocket connections. EMA supports WebSocket connections but you need to specify it via the EncryptedProtocolType configuration, as shown below.
<Channel>
<Name value="Channel_1"/>
<ChannelType value="ChannelType::RSSL_ENCRYPTED"/>
<!-- CompressionType is optional: defaulted to None -->
<!-- possible values: None, ZLib, LZ4 -->
<CompressionType value="CompressionType::None"/>
<GuaranteedOutputBuffers value="5000"/>
<!-- ConnectionPingTimeout is optional: defaulted to 30000 -->
<ConnectionPingTimeout value="30000"/>
<EncryptedProtocolType value="EncryptedProtocolType::RSSL_WEBSOCKET"/>
<!-- TcpNodelay is optional: defaulted to 1 -->
<!-- possible values: 1 (tcp_nodelay option set), 0 (tcp_nodelay not set) -->
<TcpNodelay value="1"/>
<Host value="contrib-ws1-emea1.uat.platform.refinitiv.com"/>
<Port value="443"/>
</Channel>Otherwise, if you would like to use the socket connection, you need to use this endpoint contrib1-emea1.uat.platform.refinitiv.com instead.
<Channel>
<Name value="Channel_1"/>
<ChannelType value="ChannelType::RSSL_ENCRYPTED"/>
<!-- CompressionType is optional: defaulted to None -->
<!-- possible values: None, ZLib, LZ4 -->
<CompressionType value="CompressionType::None"/>
<GuaranteedOutputBuffers value="5000"/>
<!-- ConnectionPingTimeout is optional: defaulted to 30000 -->
<ConnectionPingTimeout value="30000"/>
<!-- TcpNodelay is optional: defaulted to 1 -->
<!-- possible values: 1 (tcp_nodelay option set), 0 (tcp_nodelay not set) -->
<TcpNodelay value="1"/>
<Host value="contrib1-emea1.uat.platform.refinitiv.com"/>
<Port value="443"/>
</Channel>0
Answers
-
Hello @JasonS
It seems the API cannot establish the connection from your application machine to the RCC host. Can you connect to other endpoints? Please give us more detail about your application environment.
- Are you using RTSDK Java or C/C++ edition?
- The version of RTSDK
- The OS and compiler information
If you are using EMA C++, please enable the API tracing log when the problem occurs with the XmlTraceToFile parameter in the EmaConfig.xml file
<Consumer>
<Name value="Consumer_1"/>
...
<XmlTraceToFile value="1"/>
</Consumer>If you are using EMA Java, you can enable the API tracing log when the problem occurs with the following steps:
Firstly, set the XmlTraceToStdout parameter in the EmaConfig.xml file
<Consumer>
<Name value="Consumer_1"/>
....
<XmlTraceToStdout value="1"/>
</Consumer>Next, create a file named "logging.properties" with the following content:
.level=FINEST
handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level=FINEST
java.util.logging.FileHandler.pattern=./emaj.log <-- Update file path to match your env
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
# Format timestamp as date/time with millisecond
java.util.logging.SimpleFormatter.format=%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL %4$-7s %2$s %n%5$sFinally, run the application with the following JVM argument.
-Djava.util.logging.config.file=<your paht>/logging.properties
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛