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

  • We are seeing the same issue. From what I can tell, the config of the webserver must have changed. It would be great to get this fixed as we rely on the datastream rest api!

  • Thank you Jirapongse. I'm sharing the results of running the script as you guided.

    1698642579167.png


  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @sjh0724

    Yes, it is the same error.

    I assume that the headers format is incorrect.

    1698643277431.png

    I will contact the product team to verify what the problem is.

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @sjh0724

    I tested it again. I think the probelm has been resolved.

    Could you please confirm if the problem has been resolved?

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.