question

Upvotes
Accepted
43 3 4 5

RDP endpoint selection

Hi there,


we are having problems establishing a stream connection to the emea endpoint.

I was advised to select a different endpoint, here amer or apac.

We are using the RDP dotnet library.

How do I connect to different endpoint?

There is a function WithStreamingEndPoint in the Session Factory. I presume this option will do the trick. But when i pass the connection strings:

apac-1.pricing.streaming.edp.thomsonreuters.com(:443)

amer-1.pricing.streaming.edp.thomsonreuters.com

in this function, I see no changes.


Any suggestions on how to change the endpoint are highly appreciated.

Thanks a lot!

rdp-apirefinitiv-data-platform
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi @marko.drews,

Can you include a snippet of code that you are using? With the code you are using, are you getting any error or status messages back? Also, you should see a log file within the bin directory-does it provide any error information? What version of the lib are you using?

Upvote
Accepted
17.3k 82 39 63

Hi @marko.drews,

You can find the latest NuGet packages here:

These packages will automatically download when you access the latest examples package within GitHub.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
43 3 4 5

Hi @nick.zincone.1


here is my factory implementation

(CoreFactory.CreateSession(new PlatformSession.Params()

.OAuthGrantType(new GrantPassword().UserName(config.MachineId)

.Password(config.Password))

.AppKey(config.AppKey)

.WithStreamingEndpoint("https://amer-1.pricing.streaming.edp.thomsonreuters.com:443")

//.WithTakeSignonControl(config.SignOnControl)

.OnState((s, state, msg) => logger.LogDebug("{msg}. (State: {state})", msg, state))

.OnEvent((s, eventCode, msg) => logger.LogDebug("{msg}. (State: {state})", msg, eventCode))));


but the output doesnt change at all.

I would expect the region to change from europe to us..

There are no errors, as if this option has no effect at all.

What string do I have to pass?


here is the log output:


13:48:21 INF] Rdp adapter using universe:

["EUR="]

[13:48:21 INF] Rdp adapter using data field filter:

null

[13:48:21 INF] Rdp adapter using time to reconnect:

270000

[13:48:21 DBG] Application: "Debug" - "Created a Platform Session with parameters:\n\"{\r\n\tGrant: GrantPassword {\r\n\t\tUser: GE-*****\r\n\t\tPassword: ********\r\n\t\tScope: trapi\r\n\t}\r\n\tTakeSignonControl: True\r\n\tAppKey: *******\r\n\tDACS User Name: Convex\r\n\tDACS Position: 192.168.167.186\r\n\tDACS Application ID: 256\r\n}\r\n\""

[13:48:21 DBG] "Session is Pending". (State: Pending)

[13:48:21 DBG] Application: "Debug" - "Sending HTTP request:\n\"Method: POST, RequestUri: 'https://api.refinitiv.com/auth/oauth2/v1/token', Version: 1.1, Content: System.Net.Http.FormUrlEncodedContent, Headers:\r\n{\r\n Accept: application/json\r\n Authorization: Basic\r\n Content-Type: application/x-www-form-urlencoded\r\n}\""

[13:48:22 DBG] Application: "Debug" - "HTTP Response: \"StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:\r\n{\r\n Date: Thu, 15 Oct 2020 11:48:22 GMT\r\n Transfer-Encoding: chunked\r\n Connection: keep-alive\r\n X-Amzn-Trace-Id: Root=1-5f883706-0aa3f59b2a422fc14d8e7457\r\n X-Served-By: region=eu-west-1; cid=7936fa55-77dc-4fa7-a9f8-80bc66a20408\r\n X-Tr-Requestid: be8a3e6a-7882-4528-b5bb-61fda4b8a05f\r\n Content-Type: application/json\r\n}\""

[13:48:22 DBG] Application: "Debug" - "RDP Grant Password Authorization succeeded. Status: \"{\r\n \"HTTPStatusCode\": 200,\r\n \"HTTPReason\": \"OK\"\r\n}\". Content: \"{\r\n \"access_token\": \"eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiIsImtpZCI6InVCSWtJdEZiWDJOVVhlUW5DNS1fYzF0WlJRdHhGVnZVTW1ORU9zZUxxdGcifQ.eyJkYXRhIjoie1wiY2lwaGVydGV4dFwiOlwidzN6eEc1NXZjMER1VDdfR1ZGMUtRWUQyT2FuVlZKYXZTcUxNRURQRW9Yc0wyX3lQMHBkWmgzbk52ODJCTWRzYk8wMHdGMlFoNWZsbEItN0s0bEc0UWtGVG85eW5XTU1RTFlYQ0t6VlVIVUJaUjhsbk1xSzlOYkF6QUpxWjFhaXp0cHBGa2tIMGJpMTBuejJxWHFEZ245b1hhU2Exb1dWZW1kbUZrOFkwdGxtalduVnZoQUhyU1dBeHBod2ttMlo3TkFLTllaeWNtaGYtdW1GUzc0dFVJOS1MT2JnWkJEbmRtTE9TbHZSNFI0b0ltSVFqSlg2ZDNKeV9hQmxwUDgzVk93RlI2aTFOYS0yTGRvWjVqWjEwWUF5MmlTRTZwZEM3cXNXVVA2d0ZONml6TE94aWVIYzNFMEpYRjhfVFRjUHBndVFpajNGeng1MHU5NmhUTG1XWEd4RmZkblNfQ3ZJcVc1X3RIVWktYmprdHhzZlU3Ukg1X3BFZkRaOWVRRWc5RkUzVVdYbTFHYjYxbHlJamJhU2xISnRmWWhNYmVFS0tNbXVzbzN4aXR2bjVpZFVWYWpMSVdBVTVfU05XTENsWkktTFM4LUNwNnl5Y3o3NUpvemJEcWJ6a0tDOGExaWlPTkdUV0l2RVwiLFwiaXZcIjpcIlMxN19HV1FKOUlGUklibUxcIixcInByb3RlY3RlZFwiOlwiZXlKaGJHY2lPaUpCVjFOZlJVNURYMU5FUzE5Qk1qVTJJaXdpWlc1aklqb2lRVEkxTmtkRFRTSXNJbnBwY0NJNklrUkZSaUo5XCIsXCJyZWNpcGllbnRzXCI6W3tcImVuY3J5cHRlZF9rZXlcIjpcIkFRSUJBSGoyeG9kOXZJejFTcDJsbnlBM1pvQWpCcFc4WVNaTHZ1SFg5dDg0X0x4aHF3RV9KWlphY0pMY0xVZmN1UnVGV1dMckFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTTE5WjRFcUlPVWVlM0I2R19BZ0VRZ0RzamM3U1QydkEtaVExSmxOYnBLYnNSeGQxcERZRFZUNi0xOHNoenQ3Y0U4N3AyYWF5UGFMWTNqYmgzZjA0NE10N3Rxb09FYkg0R2hoZTQ4QVwiLFwiaGVhZGVyXCI6e1wia2lkXCI6XCJhcm46YXdzOmttczp1cy1lYXN0LTE6NjQyMTU3MTgxMzI2OmtleS8zNTAzOWJjYi1jYTM1LTRlZGYtYTFhMy0yYzMzNDk1M2IwZTFcIn19LHtcImVuY3J5cHRlZF9rZXlcIjpcIkFRSUNBSGlWaHdFb1JjbG0xRkctajBnUTRxajBzZ0lrOVRESzlpRXB1R3JKbEdmUUFBSDlBRHB5NkZuRE03d0FSMUVXdkJ1LUFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTUxEeDUyOXI4VlE5bFM5N2JBZ0VRZ0RzR2dCaHotb3U5MHdIdEFwNVJndUhEd19JUjhnVURMNGkzTTEzOC0wTkwxY05sZTdibl9uR2VQZ1FUTW55MXVudG50ODRoaVpOQjIxcHJKUVwiLFwiaGVhZGVyXCI6e1wia2lkXCI6XCJhcm46YXdzOmttczpldS13ZXN0LTE6NjQyMTU3MTgxMzI2OmtleS8yZDFjMDg0ZS05YTBmLTRlNjQtYTUxZS03NjAwMTU2NmExOTVcIn19LHtcImVuY3J5cHRlZF9rZXlcIjpcIkFRSUNBSGc4Z3pPU3dTUDhTcEp0aWZ3Z0FreU83V0M0X0t1VEZyWnpFeUFQRmlESkZ3R0E5ZXFuSF84YnZrakFpRm5lLUtSX0FBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTTluT0NBX0s5SG00MHNUTG1BZ0VRZ0R2cHFCOHZ4T0xKMlNMaE1Mc3NPWXR2YXJpVTZNTklPbnlLMlk4Zjl3NGJ3bE94NUVzV3NqXzZWUjVQWmk0VnVnY3E5ZTgzV18xdDIzTjBkd1wiLFwiaGVhZGVyXCI6e1wia2lkXCI6XCJhcm46YXdzOmttczphcC1zb3V0aGVhc3QtMTo2NDIxNTcxODEzMjY6a2V5LzMxOTA2ZTg0LTViYWUtNGI0YS1hMzY0LTgxYWY2M2Y2NjI1ZlwifX1dLFwidGFnXCI6XCJiM2dubG9MYl9NTEk0d0hvN0hTcjJBXCJ9IiwicnMxIjoiYWYzYmI3NTdjYTA5MDFlYmZiOWQ2YjU2ZjU1NmEyNTBjOTkwOGQ1ZSIsImF1ZCI6IjY3ZDY3NWUxMDRjYzRmMWJiNmY1NGM1NTM5ZmFhYThiNWJmYjE2Y2IiLCJpc3MiOiJodHRwczovL2ZpbmFuY2lhbC50aG9tc29ucmV1dGVycy5jb20vYXBpL2lkZW50aXR5L3N0c19wcm9kIiwiZXhwIjoxNjAyNzYyODAyLCJpYXQiOjE2MDI3NjI1MDJ9.OPrzMw3ME4oBM5Fl75jq9j_uZKbZ0hMxIwC72kf91w2TavWJ1-2eGR9pWEvg9_3FHzH2NXTOi6CRX6-1kYUVkALjNVkxvrAuaHNnTKI0kqkASAc86BmisZpoafdYU7K1mLm3vz-8zLsXCK5-lm7GfsGjkgxkV22C0iEpIiLUkcLMedeOG1KqRdChvuekMdbjA_4UG3t6uWoYo3SKHtX7AkaGAk0k7qXZC49_97j7aeZL_fapXFu3Y__89YaKDHxntrjbsLKWPJZtSOU-wK-Trl73f6tUcHugso783Yqc2PK60jnuigp2Kgm4nBiRkaKYiGyZTcOr5X_gMlmtUM2Prg\",\r\n \"refresh_token\": \"be5db1e6-f3f3-46d8-81a5-6bdb4998c27e\",\r\n \"expires_in\": \"300\",\r\n \"scope\": \"trapi.auth.cloud-credentials trapi.cfs.claimcheck.read trapi.data.symbology.advanced.read trapi.data.symbology.read trapi.metadata.read trapi.streaming.pricing.read\",\r\n \"token_type\": \"Bearer\"\r\n}\""

[13:48:22 DBG] [[[]]]. (State: SessionAuthenticationSuccess)

[13:48:22 DBG] "Session is Opened". (State: Opened)

[13:48:22 DBG] Application: "Info" - "Platform Session Successfully Authenticated"

[13:48:22 DBG] Application: "Debug" - "RDP expects a token refresh to occur every 300 seconds. Our session will attempt to refresh every 270 seconds."

[13:48:22 DBG] Application: "Debug" - "Platform Session State is Opened"

[13:48:23 INF] Now listening on: "https://localhost:5001"

[13:48:23 INF] Now listening on: "http://localhost:5000"

[13:48:23 INF] Application started. Press Ctrl+C to shut down.


Thank you


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hi @marko.drews,

Everything looks ok thus far except I don’t see where you are requesting for any streaming data. Did you try any of the Pricing examples? Example 2.2.03-Pricing-StreamingEvents (https://github.com/Refinitiv-API-Samples/Example.RDPLibrary.DotNet/blob/master/src/2.%20Content/2.2-Pricing/2.2.03-Pricing-StreamingEvents/2.2.03-Pricing-StreamingEvents.cs). Can you include the code snippet where you are requesting for streaming data?

Upvotes
17.3k 82 39 63

Hi @marko.drews,

You don’t need to explicitly specify an endpoint when you want to retrieve streaming market data from the platform. When you define and open your session, it will gather a bunch of information from the platform in preparation when you want data. Only when you ask for streaming data will the session attempt to create a streaming connection.

I would remove the call above that specifies the endpoint, then use the Pricing interface, as I referenced in my comment above. Are you using the latest release of the libraries? This was done in the last few weeks.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
43 3 4 5

Hi @nick.zincone.1


it will only connect to the europe endpoint, which is disrupted at the moment.

The streams worked very well until yesterday.

As I wrote, the stream wont establish. Thats why I added the additional call for the endpoint.


Where can I find the updated version? Can you please provide me with a link?


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@marko.drews,

I don’t see any indication the stream is disrupted. Does your onStatus() indicate there was an issue getting data? The latest package can be found here: https://github.com/Refinitiv-API-Samples/Example.RDPLibrary.DotNet

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.