You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
My script creates a CTX frequently. Sometimes there is an (unexplained) error 503 where no valid auth token is returned. That's no big deal - I can accept a failed attempt. I'll try again in 5 min anyway. BUT... office365\runtime\auth\providers\saml_token_provider.py throws an error where it assumes that e.response has a text attribute.
The below error message is slightly misleading because it is based on my modifications to Office365-REST-Python-Client 2.5.11 to isolate the bug. These are the relevant modifications:
I'm too amateur a programmer to make changes in the package. Could someone with more programming skills make the required changes so that
either a proper retry within a few seconds is triggered
or the error routine handles errors without response properly
INFO 2024-08-19 04:37:30,463 1724035050.4637942 - Executing query to get CTX
ERROR 2024-08-19 04:37:41,935 1724035061.9352677 - Exception while getting CTX. Got following details:
ERROR 2024-08-19 04:37:41,935 1724035061.9352677 - ("'NoneType' object has no attribute 'text'",)
ERROR 2024-08-19 04:37:41,935 1724035061.9352677 - Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 779, in urlopen
self._prepare_proxy(conn)
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 1048, in _prepare_proxy
conn.connect()
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connection.py", line 633, in connect
self._tunnel() # type: ignore[attr-defined]
^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\http\client.py", line 973, in _tunnel
raise OSError(f"Tunnel connection failed: {code} {message.strip()}")
OSError: Tunnel connection failed: 503 Service Unavailable
The above exception was the direct cause of the following exception:
urllib3.exceptions.ProxyError: ('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable'))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='mysite.sharepoint.com', port=443): Max retries exceeded with url: /sites/myTeams/_api/Web/getFolderByServerRelativeUrl('Shared%20documents%2FGeneral')/Files (Caused by ProxyError('Unable to connect to proxy', OSError('**Tunnel connection failed: 503 Service Unavailable**')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\myPath\method_dictionary.py", line 283, in handle_protocols_from_SharePoint
for a_file in list_files_by_folder(protocol_ctx,get_path('SharepointDropoffFolder')):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\myPath\sharepoint.py", line 98, in list_files_by_folder
ctx.execute_query()
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_runtime_context.py", line 173, in execute_query
self.pending_request().execute_query(qry)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_request.py", line 37, in execute_query
response = self.execute_request_direct(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_request.py", line 93, in execute_request_direct
response = requests.get(
^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\api.py", line 73, in get
return request("get", url, params=params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\adapters.py", line 513, in send
raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='mysite.sharepoint.com', port=443): Max retries exceeded with url: /sites/myTeams/_api/Web/getFolderByServerRelativeUrl('Shared%20documents%2FGeneral')/Files (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 779, in urlopen
self._prepare_proxy(conn)
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 1048, in _prepare_proxy
conn.connect()
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connection.py", line 633, in connect
self._tunnel() # type: ignore[attr-defined]
^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\http\client.py", line 973, in _tunnel
raise OSError(f"Tunnel connection failed: {code} {message.strip()}")
OSError: Tunnel connection failed: 503 Service Unavailable
The above exception was the direct cause of the following exception:
urllib3.exceptions.ProxyError: ('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable'))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='mysite.sharepoint.com', port=443): Max retries exceeded with url: /_forms/default.aspx?wa=wsignin1.0 (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\providers\saml_token_provider.py", line 112, in get_authentication_cookie
return self._get_authentication_cookie(token, user_realm.IsFederated)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\providers\saml_token_provider.py", line 287, in _get_authentication_cookie
headers = {"Content-Type": "application/x-www-form-urlencoded"}
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\adapters.py", line 513, in send
raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='mysite.sharepoint.com', port=443): Max retries exceeded with url: /_forms/default.aspx?wa=wsignin1.0 (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\myPath\sharepoint.py", line 34, in get_sharepoint_context_using_user
ctx.web.get().execute_query()
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_object.py", line 54, in execute_query
self.context.execute_query()
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_runtime_context.py", line 173, in execute_query
self.pending_request().execute_query(qry)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_request.py", line 37, in execute_query
response = self.execute_request_direct(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_request.py", line 46, in execute_request_direct
self.beforeExecute.notify(request)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\types\event_handler.py", line 41, in notify
listener(*args, **kwargs)
File "C:\Program Files\Python312\Lib\site-packages\office365\sharepoint\client_context.py", line 283, in _authenticate_request
self.authentication_context.authenticate_request(request)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\authentication_context.py", line 249, in authenticate_request
self._authenticate(request)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\authentication_context.py", line 206, in _authenticate
provider.authenticate_request(request)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\providers\saml_token_provider.py", line 85, in authenticate_request
self.ensure_authentication_cookie()
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\providers\saml_token_provider.py", line 97, in ensure_authentication_cookie
self._cached_auth_cookies = self.get_authentication_cookie()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\auth\providers\saml_token_provider.py", line 114, in get_authentication_cookie
`self.error = "Error: {}".format(e)`
^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
ERROR 2024-08-19 04:37:41,935 1724035061.9352677 - An error occurred getting ClientContext:
ERROR 2024-08-19 04:37:41,935 1724035061.9352677 - AttributeError
ERROR 2024-08-19 04:37:41,950 1724035061.9508836 - Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 779, in urlopen
self._prepare_proxy(conn)
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 1048, in _prepare_proxy
conn.connect()
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connection.py", line 633, in connect
self._tunnel() # type: ignore[attr-defined]
^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\http\client.py", line 973, in _tunnel
raise OSError(f"Tunnel connection failed: {code} {message.strip()}")
OSError: Tunnel connection failed: 503 Service Unavailable
The above exception was the direct cause of the following exception:
urllib3.exceptions.ProxyError: ('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable'))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\urllib3\connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='mysite.sharepoint.com', port=443): Max retries exceeded with url: /sites/myTeams/_api/Web/getFolderByServerRelativeUrl('Shared%20documents%2FGeneral')/Files (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\myPath\method_dictionary.py", line 283, in handle_protocols_from_SharePoint
for a_file in list_files_by_folder(protocol_ctx,get_path('SharepointDropoffFolder')):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\myPath\sharepoint.py", line 98, in list_files_by_folder
ctx.execute_query()
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_runtime_context.py", line 173, in execute_query
self.pending_request().execute_query(qry)
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_request.py", line 37, in execute_query
response = self.execute_request_direct(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\office365\runtime\client_request.py", line 93, in execute_request_direct
response = requests.get(
^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\api.py", line 73, in get
return request("get", url, params=params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\requests\adapters.py", line 513, in send
raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='mysite.sharepoint.com', port=443): Max retries exceeded with url: /sites/myTeams/_api/Web/getFolderByServerRelativeUrl('Shared%20documents%2FGeneral')/Files (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 503 Service Unavailable')))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\myPath\method_dictionary.py", line 293, in handle_protocols_from_SharePoint
logger_m.info('New context is valid from {}'.format(protocol_ctx.context_info._valid_from))
^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'context_info'
The text was updated successfully, but these errors were encountered:
Hi,
My script creates a CTX frequently. Sometimes there is an (unexplained) error 503 where no valid auth token is returned. That's no big deal - I can accept a failed attempt. I'll try again in 5 min anyway. BUT... office365\runtime\auth\providers\saml_token_provider.py throws an error where it assumes that e.response has a text attribute.
The below error message is slightly misleading because it is based on my modifications to Office365-REST-Python-Client 2.5.11 to isolate the bug. These are the relevant modifications:
I'm too amateur a programmer to make changes in the package. Could someone with more programming skills make the required changes so that
The text was updated successfully, but these errors were encountered: