Datastream DSWS Time out Error

Thank you for your hard work.

I'm currently using the Python API for Datastream DSWS, and I'm experiencing a timeout error when calling the Datastream object. I'm posting this question to inquire about the possible causes.


1698638961488.png

Welcome!

It looks like you're new here. Sign in or register to get started.

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @sjh0724 @Walter Cavinaw

    Thank you for reaching out to us.

    I got a different error.

    DEBUG:urllib3.connectionpool:https://product.datastream.com:443 "POST /DSWSClient/V1/DSService.svc/rest/GetToken HTTP/1.1" 200 None
    WARNING:urllib3.connectionpool:Failed to parse headers (url=https://product.datastream.com:443/DSWSClient/V1/DSService.svc/rest/GetToken): [MissingHeaderBodySeparatorDefect()], unparsed data: 'X-Ds-Server : DSWP12\r\nDate: Mon, 30 Oct 2023 04:57:05 GMT\r\nContent-Length: 374\r\nX-DS-VIP: DS_Web_Prod_EXT-443\r\nStrict-Transport-Security: max-age=86400; includeSubDomains\r\nX-DS-TimeTaken: 3 ms\r\nX-DS-URID: 1698641826410066871498348\r\n\r\n'
    Traceback (most recent call last):
    File "c:\python37\lib\site-packages\urllib3\connectionpool.py", line 469, in _make_request
    assert_header_parsing(httplib_response.msg)
    File "c:\python37\lib\site-packages\urllib3\util\response.py", line 91, in assert_header_parsing
    raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data)
    urllib3.exceptions.HeaderParsingError: [MissingHeaderBodySeparatorDefect()], unparsed data: 'X-Ds-Server : DSWP12\r\nDate: Mon, 30 Oct 2023 04:57:05 GMT\r\nContent-Length: 374\r\nX-DS-VIP: DS_Web_Prod_EXT-443\r\nStrict-Transport-Security: max-age=86400; includeSubDomains\r\nX-DS-TimeTaken: 3 ms\r\nX-DS-URID: 1698641826410066871498348\r\n\r\n'

    Please run the following code before calling the datastream library to enable the debug log in the urllib3 library.

    import logging
    import http.client 
    http.client.HTTPConnection.debuglevel = 1 
    logging.basicConfig()
    logging.getLogger().setLevel(logging.DEBUG)
    requests_log = logging.getLogger("requests.packages.urllib3")
    requests_log.setLevel(logging.DEBUG)
    requests_log.propagate = True

Answers

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.