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

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