Using market_price_edpgw_service_discovery.py example app. RDP Snapshot requests not returning data Snapshot. Have "Streaming":false set.
{
"ID":2,
"Key":{
"Name":"/IBM.N"
},
"Streaming":false
}
Using market_price_edpgw_service_discovery.py example app. RDP Snapshot requests not returning data Snapshot. Have "Streaming":false set.
{
"ID":2,
"Key":{
"Name":"/IBM.N"
},
"Streaming":false
}
Hi @Branko - POC,
Your request structure is correct. Can you please paste the complete output from the sample including the login response and any refresh and update messages.
RECEIVED on session1:
[
{
"Domain":"Login",
"Elements":{
"MaxMsgSize":61426,
"PingTimeout":30
},
"ID":1,
"Key":{
"Elements":{
"AllowSuspectData":1,
"ApplicationId":"256",
"ApplicationName":"ADS",
"AuthenticationErrorCode":0,
"AuthenticationErrorText":{
"Data":null,
"Type":"AsciiString"
},
"AuthenticationTTReissue":1619627792,
"Position":"192.168.0.124/CHDPQM433LT",
"ProvidePermissionExpressions":1,
"ProvidePermissionProfile":0,
"SingleOpen":1,
"SupportBatchRequests":7,
"SupportEnhancedSymbolList":1,
"SupportOMMPost":1,
"SupportOptimizedPauseResume":0,
"SupportPauseResume":0,
"SupportStandby":0,
"SupportViewRequests":1
},
"Name":"AQIC5wM2LY4SfcydNWCrb%2Fq1KzoDHGCpCprs2rfBVVCEw5Y%3D%40AAJTSQACMjAAAlNLABM0NDk1NTkzNDYyNzUwOTQ0ODQyAAJTMQACMzE%3D%23"
},
"State":{
"Data":"Ok",
"Stream":"Open",
"Text":"Login accepted by host ads-fanout-lrg-az1-use1-prd."
},
"Type":"Refresh"
}
]
This is just the login response - where is the response from your item request?
The issue is that there is no item response. There is only Ping/Pong message after what I provided above.
Was there a SENT message in your console? Has your request even been sent to the server? You haven't included the full capture. Here is what I get:
RECEIVED on session1: [ { "Domain": "Login", "Elements": { "MaxMsgSize": 61426, "PingTimeout": 30 }, "ID": 1, "Key": { "Elements": { "AllowSuspectData": 1, "ApplicationId": "256", "ApplicationName": "ADS", "AuthenticationErrorCode": 0, "AuthenticationErrorText": { "Data": null, "Type": "AsciiString" }, "AuthenticationTTReissue": 1619630737, "Position": "192.168.56.1/Carbon2", "ProvidePermissionExpressions": 1, "ProvidePermissionProfile": 0, "SingleOpen": 1, "SupportBatchRequests": 7, "SupportEnhancedSymbolList": 1, "SupportOMMPost": 1, "SupportOptimizedPauseResume": 0, "SupportPauseResume": 0, "SupportStandby": 0, "SupportViewRequests": 1 }, "Name": "AQIC5wM2L**x%23" }, "State": { "Data": "Ok", "Stream": "Open", "Text": "Login accepted by host ads-fanout-lrg-az1-use1-prd." }, "Type": "Refresh" } ] SENT on session1: { "ID": 2, "Key": { "Name": "CAD=" }, "Streaming": false } RECEIVED on session1: . .
Sending EDP-GW service discovery request to https://api.refinitiv.com/streaming/pricing/v1/
EDP-GW Service discovery succeeded. RECEIVED:
{
"services":[
{
"dataFormat":[
"tr_json2"
],
"endpoint":"apac-1-t3.streaming-pricing-api.refinitiv.com",
"location":[
"ap-southeast-1a"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"apac-3-t3.streaming-pricing-api.refinitiv.com",
"location":[
"ap-southeast-1a",
"ap-southeast-1b"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"apac-2-t3.streaming-pricing-api.refinitiv.com",
"location":[
"ap-southeast-1b"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"emea-1-t3.streaming-pricing-api.refinitiv.com",
"location":[
"eu-west-1a"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"emea-3-t3.streaming-pricing-api.refinitiv.com",
"location":[
"eu-west-1a",
"eu-west-1b"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"emea-2-t3.streaming-pricing-api.refinitiv.com",
"location":[
"eu-west-1b"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"amer-1-t3.streaming-pricing-api.refinitiv.com",
"location":[
"us-east-1a"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"amer-3-t3.streaming-pricing-api.refinitiv.com",
"location":[
"us-east-1a",
"us-east-1b"
],
"port":443,
"provider":"aws",
"transport":"websocket"
},
{
"dataFormat":[
"tr_json2"
],
"endpoint":"amer-2-t3.streaming-pricing-api.refinitiv.com",
"location":[
"us-east-1b"
],
"port":443,
"provider":"aws",
"transport":"websocket"
}
]
}
Connecting to WebSocket wss://amer-3-t3.streaming-pricing-api.refinitiv.com:443/WebSocket for session1...
WebSocket successfully connected for session1!
SENT on session1:
{
"Domain":"Login",
"ID":1,
"Key":{
"Elements":{
"ApplicationId":"256",
"AuthenticationToken":"eyJ0eXAiOiJhdCtqd3QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImRMdFd2Q0tCSC1NclVyWm9YMXFod2pZQ2t1eDV0V2ZSS2o4ME9vcjdUY28ifQ.eyJkYXRhIjoie1wiY2lwaGVydGV4dFwiOlwiejE5MHY1RkJMenh2V1JIUVhSaGxVV2dQMXBOSDBXVnVHNVlaaU9qMTRSVnZ4bjQzRDRjb09iR0k0OXJyNEZOa01hZmNKSjU0d2lmLVQ2eHMxR3dxVVhaXzBlQkNIWTNqc2dKa25Qdm0xdFprOWVpb1FvTU1xRkhsVFJ1ckdOZHBuekk1Nk1CSTZlZ1FocmNYcGR2Rk52YnhEVXd6V21zUlZVb3ZWTDJRR2V5LVdXcmV4c0xpdVhXWlVUTXBPTHNqSHBvY2x3bmpOaGlRZmYxZHlVWUFCVlZQRFF3YkNZaDJrZjNqWmh6MkZsUlFRMkRLM3gxd3BBQ2l0YlhWNlBmMkhOT3pFa2NrTU9wUjBqRUYxbE8yT05hV3lhSzdPME1fbjV2eWptTWlpLTBIYzhLSm0xU21kLXlzUEEtYzZLNkxwWG84LVNnUVdRdTU4UGFCUEEzeHFrVVMzbHJzdm5DMy1YdS1mQmhVS1dYVlc2RWpzY1pXN2ZsMUtHaksyWV80QW5XTndPWW8yd3FCNkFVZFVpQ0Z3eG5MNVBTOG42czllTk5pc3M0dDJ3dlc1ckx6VE1rLUhRend0ZllyRG5ickUybnR4VTFjalZHSnBscS0tSVNUeklqUG9TWlJJZy12WTk1SWpGUnRybllSTFYtZDZqNUZpQXpFY0lKMVpmSjV4cGNrYjYwa2hOdkhcIixcIml2XCI6XCJGQWpZR25kTGlXTGtmVVc3XCIsXCJwcm90ZWN0ZWRcIjpcImV5SmhiR2NpT2lKQlYxTmZSVTVEWDFORVMxOUJNalUySWl3aVpXNWpJam9pUVRJMU5rZERUU0lzSW5wcGNDSTZJa1JGUmlKOVwiLFwicmVjaXBpZW50c1wiOlt7XCJlbmNyeXB0ZWRfa2V5XCI6XCJBUUlCQUhpT1JjYVBoX2laM21rakVtUTZBaHpDOWJHeHJJNF9XaFZIWDVPRnI2NTgwUUctc2F3b2h2SFpWeW5FLWJaUm1pSUxBQUFBZmpCOEJna3Foa2lHOXcwQkJ3YWdiekJ0QWdFQU1HZ0dDU3FHU0liM0RRRUhBVEFlQmdsZ2hrZ0JaUU1FQVM0d0VRUU1EenROdHl2cFZXUGx6d2pvQWdFUWdEdnd5NHJGWnR2ZHgtT0hYQnp4M1EwQXd0WFduSzlRVGJZaFBfMXV1MURqMXd6UkF2TzhvLUtfc2JFbTA0bGUzNnVOTUZSX2NBR1B3SHVjbUFcIixcImhlYWRlclwiOntcImtpZFwiOlwiYXJuOmF3czprbXM6dXMtZWFzdC0xOjg5ODA4NDk4NDg3NzprZXkvMWZmZjY3OTMtNjVkZS00N2M0LWI3NjYtNzZjZDNjMTk0ZWYxXCJ9fSx7XCJlbmNyeXB0ZWRfa2V5XCI6XCJBUUlCQUhpT1JjYVBoX2laM21rakVtUTZBaHpDOWJHeHJJNF9XaFZIWDVPRnI2NTgwUUctc2F3b2h2SFpWeW5FLWJaUm1pSUxBQUFBZmpCOEJna3Foa2lHOXcwQkJ3YWdiekJ0QWdFQU1HZ0dDU3FHU0liM0RRRUhBVEFlQmdsZ2hrZ0JaUU1FQVM0d0VRUU1EenROdHl2cFZXUGx6d2pvQWdFUWdEdnd5NHJGWnR2ZHgtT0hYQnp4M1EwQXd0WFduSzlRVGJZaFBfMXV1MURqMXd6UkF2TzhvLUtfc2JFbTA0bGUzNnVOTUZSX2NBR1B3SHVjbUFcIixcImhlYWRlclwiOntcImtpZFwiOlwiYXJuOmF3czprbXM6dXMtZWFzdC0xOjg5ODA4NDk4NDg3NzprZXkvMWZmZjY3OTMtNjVkZS00N2M0LWI3NjYtNzZjZDNjMTk0ZWYxXCJ9fSx7XCJlbmNyeXB0ZWRfa2V5XCI6XCJBUUlDQUhoTEc2NThfMnFnUkxEZXBsdC1LVjkxUC0yUVJIcmNLUzF2cjdyM1dyWkI5Z0h0OENjT0hTajFPZE94dm9VWDJDa1NBQUFBZmpCOEJna3Foa2lHOXcwQkJ3YWdiekJ0QWdFQU1HZ0dDU3FHU0liM0RRRUhBVEFlQmdsZ2hrZ0JaUU1FQVM0d0VRUU0zbld5VzlodmNsU3JIRk5GQWdFUWdEdU9SX0VhWkZZWEoyTTl5MDZqRlJZNE1wWTRCZnFEWlo2UXp3dDNScjJXZEpNSTBCVTg4b3Z3WThPUXlKNEFPTWlmWlhsNjNpZGxQbzZ2TndcIixcImhlYWRlclwiOntcImtpZFwiOlwiYXJuOmF3czprbXM6YXAtc291dGhlYXN0LTE6ODk4MDg0OTg0ODc3OmtleS9lNDg3MGIxYy05Y2M3LTQ0NzgtYjk1MC1jNTY1OWI1YzU2OGZcIn19XSxcInRhZ1wiOlwiMjJoYnQtbDdKbThrS0htdVMtbDh3QVwifSIsInJzMSI6ImI3YjMxYTdiNjliOTZkN2ZlODk5NGZhMTczMWYwYzNjZjNkZDFmNTQiLCJhdWQiOiJjNzhhYjI2MGQxZWQ0ZWU3YmM3OTI5MjNkNDA2MjBhNDY3NzQ2MDg4IiwiaXNzIjoiaHR0cHM6Ly9maW5hbmNpYWwudGhvbXNvbnJldXRlcnMuY29tL2FwaS9pZGVudGl0eS9zdHNfcHJvZCIsImV4cCI6MTYxOTYzMTE1MSwiaWF0IjoxNjE5NjMwODUxfQ.N5rqRaXjG2g3NJKr6J95r8RUzDkkt1OlVcA6hfbYpxVFMDJzSyAmzF8fVyHXrJcel5vgripplrVH3ijsvJrRukHbSiVIahCxa7bj-_uwzqYVYHwrrLJtPpVA0zV322X9FV3nTrZ-4vlhLV_7TrFAMmc055fFSlwgkgHHG5WmlLnviUxto3Uq4Gi3V31a1Y6u_JHu7NKzjxMLTbUE-EA43FQ2DQLrQYqUnAhFrbj_19i02LpAQBklYQEvMmp5OblrsKTbgn2YexunWmOM0K5w0waKFFNHDcfbbFlpYF6Rk72DVl3H0E5u9QK4dGbeIjMU1WoAPDqwi-YiBFZlC7ix-w",
"Position":"192.168.0.124/CHDPQM433LT"
},
"NameType":"AuthnToken"
}
}
RECEIVED on session1:
[
{
"Domain":"Login",
"Elements":{
"MaxMsgSize":61426,
"PingTimeout":30
},
"ID":1,
"Key":{
"Elements":{
"AllowSuspectData":1,
"ApplicationId":"256",
"ApplicationName":"ADS",
"AuthenticationErrorCode":0,
"AuthenticationErrorText":{
"Data":null,
"Type":"AsciiString"
},
"AuthenticationTTReissue":1619631151,
"Position":"192.168.0.124/CHDPQM433LT",
"ProvidePermissionExpressions":1,
"ProvidePermissionProfile":0,
"SingleOpen":1,
"SupportBatchRequests":7,
"SupportEnhancedSymbolList":1,
"SupportOMMPost":1,
"SupportOptimizedPauseResume":0,
"SupportPauseResume":0,
"SupportStandby":0,
"SupportViewRequests":1
},
"Name":"AQIC5wM2LY4SfcyFLEGYzmFed6loCa8Xp8PsxdJrF%2F5gvlI%3D%40AAJTSQACMjAAAlNLABI2MjIxODE2NTQ5MDgzODE5MjUAAlMxAAIzMg%3D%3D%23"
},
"State":{
"Data":"Ok",
"Stream":"Open",
"Text":"Login accepted by host ads-fanout-lrg-az1-use1-prd."
},
"Type":"Refresh"
}
]
RECEIVED on session1:
[
{
"Type":"Ping"
}
]
SENT on session1:
{
"Type":"Pong"
}
def _send_market_price_request(self, ric_name):
""" Create and send simple Market Price request """
mp_req_json = {
'ID': 2,
'Key': {
#'Name': ric_name,
#'Name': 'IBM.N',
'Name': '/IBM.N',
'Service': service
},
"Streaming":false
}
self.web_socket_app.send(json.dumps(mp_req_json))
print("SENT on " + self.session_name + ":")
print(json.dumps(mp_req_json, sort_keys=True, indent=2, separators=(',', ':')))
I don't see the request being sent to server - there is probably a bug in the your python code somewhere. Please recheck the code - maybe add debugging statements.
Snapshot works with 'Streaming':False set:) The "Streaming":false was cut/paste from Refinitiv how to example snippets. Anyway, happy that this is identified/resolved. Thank you for your help again.
Good that it works now.
Refinitiv examples show the JSON messages - where false is a correct directive. If you use Python dictionary, then Python False will have to be used.
json.dumps(mp_req_json)
The above statement converts the dictionary object into JSON string in the self.web_socket_app.send(json.dumps(mp_req_json)) statement.