Closed ecederstrand closed 5 years ago
Dear @ecederstrand, would it be possible before this release to add something about this fact?
For instance, adding a documentation section in the readme, or adding an extras
in the setup.py
?
By the way, it would make sense to add requests-ntlm
also as an extra in the setup (downstream clients do not always need this library installed) like this:
--- a/setup.py
+++ b/setup.py
install_requires=['requests>=2.7', 'dnspython>=1.14.0', 'pytz', 'lxml',
'cached_property', 'future', 'six', 'tzlocal'],
+ extras={
+ 'ntlm': ['requests_ntlm>=0.2.0'],
+ 'kerberos': ['requests-kerberos>=???'],
+ }
packages=['exchangelib'],
I would really like for NTLM auth to work out of the box, since most Exchange servers use this as their default auth method. Having to install extra modules would violate POLA.
Regarding Kerberos, I'm not keen on adding that to the install before someone confirms that they got it working, and preferably with some description of what is needed, if anything. I'm not able to test Kerberos auth on my test server.
It may be as simple as inserting
auth = requests_kerberos.HTTPKerberosAuth(delegate=True)
the correct places in the code.
I monkey-patch this into exchangelib from a script as follows:
import requests_kerberos
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
credentials = exchangelib.Credentials("", "")
config = exchangelib.Configuration(..., credentials=credentials, auth_type="GSSAPI")
and can confirm that it works as expected. The wrapper is required because exchangelib will pass username and password to the auth handler, but HTTPKerberosAuth
doesn't expect them.
Oooh, very cool! I'll see if I can get this worked in over the next days.
I added minimal support in 3a1def2 following the patch by @phillipberndt.
The solution highlights some design errors that we should fix:
Credentials
instance is expected everywhere, even though Kerberos does not use itCredentials
class also carries the fail_fast
and max_wait
settings, which means we can't just make the credentials
argument optionalI don't think we will be able to auto-detect Kerberos auth like the other auth methods, unless we actually try it, because Kerberos auth uses the same WWW-Authenticate
headers as NTLM
but we don't know if a Kerberos ticket is available to exchangelib
.
EDIT: We could attempt Kerberos auth automatically if we see the WWW-Authenticate: "Negotiate"
header and subprocess.call(['klist', '-s']) == 0
is true (and is prepared for a FileNotFoundError
).
BTW, does anyone here know if an Exchange server will ever require a client to authenticate with any of the non-default options described at https://github.com/requests/requests-kerberos (delegation, for example)? In that case, we'll need to allow the user to supply these options somehow.
How to use GSSAPI? if i have WWW-Authenticate from apache?
Just a note; a WWW-Authenticate
is not enough to tell you that this is Kerberos auth. And you'll have to explain how Apache gets into the picture. Nothing in Exchange or exchangelib uses Apache.
Using Kerberos auth is as simple as using auth_type=GSSAPI
. See https://github.com/ecederstrand/exchangelib#setup-and-connecting
Beware that the only confirmation that it works comes from replies to this issue. I have no means to test Kerberos auth myself.
Has anyone gotten this to work?
I've tried using what's shown in the README as well as what @phillipberndt posted as his monkey-patch.
I'm getting a 401 error.
And do you have a valid Kerberos ticket before you start the requests?
And do you have a valid Kerberos ticket before you start the requests?
Please disregard. Turns out we're using NTLMSSP, not Kerberos.
I was able to have it authenticate successfully by using HttpNegotiateAuth
from requests_negotiate_sspi
.
Thank you.
Ah, ok. Maybe we should add support for SSPI?
Hi,
I'm trying to use SSO to connect to my mailbox, it seems the way to do it with exchangelib is to use Kerebos from my understanding so far.
I have been using code specified above and got the following error. Not sure where my mistake is. Same code work when I use normal login/pwd credential.
import exchangelib
from exchangelib import DELEGATE, Account, Configuration
import logging
from exchangelib.util import PrettyXmlHandler
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter
import requests_kerberos
logging.basicConfig(level=logging.DEBUG, handlers=[PrettyXmlHandler()])
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
credentials = exchangelib.Credentials("", "")
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx', credentials=credentials, auth_type="GSSAPI")
account = Account(
primary_smtp_address='name@yyy.com',
config=config,
autodiscover=False,
access_type=DELEGATE)
Broker = account.inbox / 'Broker'
for item in Broker.all().order_by('-datetime_received')[:100]:
print(item.subject, item.sender, item.datetime_received)
Get the following output:
DEBUG:exchangelib.protocol:Waiting for _protocol_cache_lock
DEBUG:exchangelib.protocol:Protocol __call__ cache miss. Adding key '('https://ews.msg.hk.xxx.com/ews/exchange.asmx', Credentials('', '********'))'
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 26705
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 26585
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 26068
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 25142
DEBUG:exchangelib.transport:Getting docs auth type for https://ews.msg.hk.xxx.com/EWS/types.xsd
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ews.msg.hk.xxx.com:443
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
DEBUG:exchangelib.transport:Request headers: {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'text/xml; charset=utf-8'}
DEBUG:exchangelib.transport:Response headers: {'Server': 'Microsoft-IIS/8.5', 'request-id': '555c2929-3550-4c35-8418-358b072bb0ea', 'Set-Cookie': 'ClientId=AGZFGEOJ0UWAHQWJYCYW; expires=Tue, 18-Aug-2020 01:41:13 GMT; path=/; HttpOnly', 'X-WSSecurity-Enabled': 'True', 'X-WSSecurity-For': 'None', 'X-OAuth-Enabled': 'True', 'WWW-Authenticate': 'Negotiate, NTLM', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG02', 'Date': 'Mon, 19 Aug 2019 01:41:12 GMT', 'Content-Length': '0'}
DEBUG:exchangelib.version:Asking server for version info
DEBUG:exchangelib.version:Getting https://ews.msg.hk.xxx.com/EWS/types.xsd with auth type HttpNtlmAuth
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ews.msg.hk.xxx.com:443
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
DEBUG:exchangelib.version:Request headers: {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'Keep-Alive', 'Content-Type': 'text/xml; charset=utf-8', 'Authorization': 'NTLM TlRMTVNTUAADAAAAGAAYAFgAAADUANQAcAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABAAEABEAQAANoKJ4gYBsR0AAAAPpp87soLXQP564Rfj3s+ZFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPiOhjFekoOuWdhzm+2h2X8BAQAAAAAAAD5DrzAvVtUB5ZhfxJ7sQMwAAAAAAgAGAEMASQBCAAEAFgBTAFcAUABJAEgASwBNAFMARwAwADIABAAOAGMAaQBiAC4AbgBlAHQAAwAmAFMAVwBQAEkASABLAE0AUwBHADAAMgAuAGMAaQBiAC4AbgBlAHQABQAUAHIAbwBvAHQAaQB4AC4AbgBlAHQABwAIAD5DrzAvVtUBBgAEAAIAAAAKABAAPCtRZj5WIc04C6DW8bTcSQAAAAAAAAAAlehsECUGMn65RCNqjoKtiQ==', 'Cookie': 'ClientId=9ZKS9CUIKECUVQDFOLCQ; expires=Tue, 18-Aug-2020 01:41:15 GMT; path=/; HttpOnly'}
DEBUG:exchangelib.version:Response code: 401
DEBUG:exchangelib.version:Response headers: {'Server': 'Microsoft-IIS/8.5', 'request-id': '2d71ebca-0785-4aee-b647-32edac0971aa', 'WWW-Authenticate': 'Negotiate, NTLM', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG02', 'Date': 'Mon, 19 Aug 2019 01:41:15 GMT', 'Content-Length': '0'}
DEBUG:exchangelib.version:Response data: b''
INFO:exchangelib.version:Unexpected HTTP 401 when getting https://ews.msg.hk.xxx.com/EWS/types.xsd (b'')
DEBUG:exchangelib.services:Trying API version Exchange2007 for account None
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Waiting for session
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Got session 25142
DEBUG:exchangelib.util:Session 25142 thread 21864: retry 0 timeout 120 POST'ing to https://ews.msg.hk.xxx.com/ews/exchange.asmx after 10s wait
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ews.msg.hk.xxx.com:443
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 401 0
DEBUG:requests_kerberos.kerberos_:handle_401(): Handling: 401
DEBUG:requests_kerberos.kerberos_:authenticate_user(): Authorization header: Negotiate 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
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 500 None
DEBUG:requests_kerberos.kerberos_:authenticate_user(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_401(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response() has seen 0 401 responses
DEBUG:requests_kerberos.kerberos_:handle_other(): Handling: 500
DEBUG:requests_kerberos.kerberos_:handle_other(): Authenticating the server
DEBUG:requests_kerberos.kerberos_:authenticate_server(): Authenticate header: YIGYBgkqhkiG9xIBAgICAG+BiDCBhaADAgEFoQMCAQ+ieTB3oAMCARKicARugaJeHCQ1XfcjzVkhzo1QVa9VIT6U91MXjUMx3PTj9qmX11QS3fz98jJPqeOW+fguvbbheVc7SRnOa7+xMQJtHNH7/7M0HtEAyO3u4FEhnwBDJ3yeiYulv8+GkRzg1Tb6yMwEv19c8JFhgrICR1I=
DEBUG:requests_kerberos.kerberos_:authenticate_server(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_other(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:exchangelib.util:Retry: 0
Waited: 10
Timeout: 120
Session: 25142
Thread: 21864
Auth type: <requests_kerberos.kerberos_.HTTPKerberosAuth object at 0x000002C8B92686D8>
URL: https://ews.msg.hk.xxx.com/ews/exchange.asmx
HTTP adapter: <exchangelib.protocol.NoVerifyHTTPAdapter object at 0x000002C8B9268860>
Allow redirects: False
Streaming: False
Response time: 0.15599999998812564
Status code: 500
Request headers: {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'text/xml; charset=utf-8', 'Content-Length': '443', 'Authorization': 'Negotiate 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'}
Response headers: {'Cache-Control': 'private', 'Transfer-Encoding': 'chunked', 'Content-Type': 'text/xml; charset=utf-8', 'Server': 'Microsoft-IIS/8.5', 'request-id': '45438f51-db4e-4227-a5c9-4b21bc87ae0c', 'Set-Cookie': 'ClientId=BTIQKDEEXLWIFFPEA; expires=Tue, 18-Aug-2020 01:41:15 GMT; path=/; HttpOnly, exchangecookie=9e229f8c350e4effacce35175e9c4428; expires=Wed, 19-Aug-2020 01:41:16 GMT; path=/; HttpOnly, X-BackEndCookie=S-1-5-21-2847098101-2387550839-3588296759-385575=u56Lnp2ejJqBzseam82bmsnSy86cytLLz8ec0p2bz57Sxp3IzJ6emczJyZrOgYHNz87G0s/G0s7Hq8/OxcvOxc7K; expires=Wed, 18-Sep-2019 01:41:15 GMT; path=/ews; secure; HttpOnly', 'X-CalculatedBETarget': 'swpihkmsg01.cib.net', 'X-DiagInfo': 'SWPIHKMSG01', 'X-BEServer': 'SWPIHKMSG01', 'X-AspNet-Version': '4.0.30319', 'WWW-Authenticate': 'Negotiate YIGYBgkqhkiG9xIBAgICAG+BiDCBhaADAgEFoQMCAQ+ieTB3oAMCARKicARugaJeHCQ1XfcjzVkhzo1QVa9VIT6U91MXjUMx3PTj9qmX11QS3fz98jJPqeOW+fguvbbheVc7SRnOa7+xMQJtHNH7/7M0HtEAyO3u4FEhnwBDJ3yeiYulv8+GkRzg1Tb6yMwEv19c8JFhgrICR1I=', 'Persistent-Auth': 'true', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG04', 'Date': 'Mon, 19 Aug 2019 01:41:15 GMT'}
Request data: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"><s:Header><t:RequestServerVersion Version="Exchange2007"/></s:Header><s:Body><m:ResolveNames ReturnFullContactData="false"><m:UnresolvedEntry></m:UnresolvedEntry></m:ResolveNames></s:Body></s:Envelope>'
Response data: b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>348</t:LinePosition><t:Violation>The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'
DEBUG:exchangelib.util:Got status code 500 but trying to parse content anyway
DEBUG:exchangelib.util:Session 25142 thread 21864: Useful response from https://ews.msg.hk.xxx.com/ews/exchange.asmx
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Releasing session 25142
DEBUG:exchangelib.services:Adding missing build number Exchange2007
DEBUG:exchangelib.services:Failed to update version info (No header in XML response (b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>348</t:LinePosition><t:Violation>The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'))
WARNING:exchangelib.services:EWS https://ews.msg.hk.xxx.com/ews/exchange.asmx, account None: Exception in _get_elements: Traceback (most recent call last):
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 90, in _get_elements
response = self._get_response_xml(payload=payload)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 215, in _get_response_xml
raise rme
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 172, in _get_response_xml
res = self._get_soap_payload(response=r, **parse_opts)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 269, in _get_soap_payload
cls._raise_soap_errors(fault=fault) # Will throw SOAPError or custom EWS error
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 305, in _raise_soap_errors
raise vars(errors)[code](msg)
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry' element is invalid - The value '' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType' - The actual length is less than the MinLength value.
DEBUG:exchangelib.account:Added account: yyy.frelet@xxx.com
DEBUG:exchangelib.services:Getting folder Root (root)
DEBUG:exchangelib.services:Trying API version Exchange2007 for account yyy.frelet@xxx.com
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Waiting for session
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Got session 25142
DEBUG:exchangelib.util:Session 25142 thread 21864: retry 0 timeout 120 POST'ing to https://ews.msg.hk.xxx.com/ews/exchange.asmx after 10s wait
H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 500 None
DEBUG:requests_kerberos.kerberos_:handle_other(): Handling: 500
DEBUG:requests_kerberos.kerberos_:handle_other(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:exchangelib.util:Retry: 0
Waited: 10
Timeout: 120
Session: 25142
Thread: 21864
Auth type: <requests_kerberos.kerberos_.HTTPKerberosAuth object at 0x000002C8B92686D8>
URL: https://ews.msg.hk.xxx.com/ews/exchange.asmx
HTTP adapter: <exchangelib.protocol.NoVerifyHTTPAdapter object at 0x000002C8B9268860>
Allow redirects: False
Streaming: False
Response time: 0.046999999991385266
Status code: 500
Request headers: {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'text/xml; charset=utf-8', 'Cookie': 'X-BackEndCookie=S-1-5-21-2847098101-2387550839-3588296759-385575=u56Lnp2ejJqBzseam82bmsnSy86cytLLz8ec0p2bz57Sxp3IzJ6emczJyZrOgYHNz87G0s/G0s7Hq8/OxcvOxc7K; ClientId=BTIQKDEEXLWIFFPEA; exchangecookie=9e229f8c350e4effacce35175e9c4428', 'Content-Length': '1166'}
Response headers: {'Cache-Control': 'private', 'Transfer-Encoding': 'chunked', 'Content-Type': 'text/xml; charset=utf-8', 'Server': 'Microsoft-IIS/8.5', 'request-id': '35700312-e4e1-46ce-8f88-9d0624284932', 'X-CalculatedBETarget': 'swpihkmsg01.cib.net', 'X-DiagInfo': 'SWPIHKMSG01', 'X-BEServer': 'SWPIHKMSG01', 'X-AspNet-Version': '4.0.30319', 'Set-Cookie': 'exchangecookie=9e229f8c350e4effacce35175e9c4428; path=/, X-BackEndCookie=S-1-5-21-2847098101-2387550839-3588296759-385575=u56Lnp2ejJqBzseam82bmsnSy86cytLLz8ec0p2bz57Sxp3IzJ6emczJyZrOgYHNz87G0s/G0s7Hq8/OxcvOxcvJ; expires=Wed, 18-Sep-2019 01:41:46 GMT; path=/ews; secure; HttpOnly', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG04', 'Date': 'Mon, 19 Aug 2019 01:41:45 GMT'}
Request data: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"><s:Header><t:RequestServerVersion Version="Exchange2007"/><t:TimeZoneContext><t:TimeZoneDefinition Id="China Standard Time"/></t:TimeZoneContext></s:Header><s:Body><m:GetFolder><m:FolderShape><t:BaseShape>IdOnly</t:BaseShape><t:AdditionalProperties><t:FieldURI FieldURI="folder:ChildFolderCount"/><t:FieldURI FieldURI="folder:EffectiveRights"/><t:FieldURI FieldURI="folder:FolderClass"/><t:FieldURI FieldURI="folder:DisplayName"/><t:FieldURI FieldURI="folder:ParentFolderId"/><t:FieldURI FieldURI="folder:PermissionSet"/><t:FieldURI FieldURI="folder:TotalCount"/><t:FieldURI FieldURI="folder:UnreadCount"/></t:AdditionalProperties></m:FolderShape><m:FolderIds><t:DistinguishedFolderId Id="root"><t:Mailbox><t:EmailAddress>yyy.frelet@xxx.com</t:EmailAddress><t:RoutingType>SMTP</t:RoutingType><t:MailboxType>Mailbox</t:MailboxType></t:Mailbox></t:DistinguishedFolderId></m:FolderIds></m:GetFolder></s:Body></s:Envelope>'
Response data: b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>513</t:LinePosition><t:Violation>The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'
DEBUG:exchangelib.util:Got status code 500 but trying to parse content anyway
DEBUG:exchangelib.util:Session 25142 thread 21864: Useful response from https://ews.msg.hk.xxx.com/ews/exchange.asmx
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Releasing session 25142
DEBUG:exchangelib.services:Adding missing build number Exchange2007
DEBUG:exchangelib.services:Failed to update version info (No header in XML response (b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>513</t:LinePosition><t:Violation>The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'))
WARNING:exchangelib.services:EWS https://ews.msg.hk.xxx.com/ews/exchange.asmx, account yyy.frelet@xxxx.com: Exception in _get_elements: Traceback (most recent call last):
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'inbox'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'root'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 90, in _get_elements
response = self._get_response_xml(payload=payload)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 215, in _get_response_xml
raise rme
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 172, in _get_response_xml
res = self._get_soap_payload(response=r, **parse_opts)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 269, in _get_soap_payload
cls._raise_soap_errors(fault=fault) # Will throw SOAPError or custom EWS error
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 305, in _raise_soap_errors
raise vars(errors)[code](msg)
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'FieldURI' attribute is invalid - The value 'folder:EffectiveRights' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType' - The Enumeration constraint failed.
Traceback (most recent call last):
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'inbox'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'root'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 2060, in <module>
main()
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 2054, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 1405, in run
return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 1412, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "H:/yyy/PRJ/Python/sendgrid/sendtest.py", line 23, in <module>
Broker = account.inbox / 'Broker'
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 73, in __get__
return obj_dict.setdefault(name, self.func(obj))
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\account.py", line 175, in inbox
return self.root.get_default_folder(Inbox)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 73, in __get__
return obj_dict.setdefault(name, self.func(obj))
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\account.py", line 239, in root
return Root.get_distinguished_root(account=self)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 1756, in get_distinguished_root
folder=cls(account=account, name=cls.DISTINGUISHED_FOLDER_ID, is_distinguished=True)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 1052, in resolve
folders = list(FolderCollection(account=account, folders=[folder]).resolve())
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 430, in resolve
additional_fields=additional_fields
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 490, in get_folders
shape=ID_ONLY,
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 1148, in call
shape=shape,
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 90, in _get_elements
response = self._get_response_xml(payload=payload)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 215, in _get_response_xml
raise rme
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 172, in _get_response_xml
res = self._get_soap_payload(response=r, **parse_opts)
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 269, in _get_soap_payload
cls._raise_soap_errors(fault=fault) # Will throw SOAPError or custom EWS error
File "H:\yyy\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 305, in _raise_soap_errors
raise vars(errors)[code](msg)
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'FieldURI' attribute is invalid - The value 'folder:EffectiveRights' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType' - The Enumeration constraint failed.
Your Kerberos auth is working fine, but your server does not support the folder:EffectiveRights
field. This should fail no matter what auth method you use.
According to https://msdn.microsoft.com/en-us/library/office/aa581334(v=exchg.150).aspx this field was introduced in Exchange 2007 SP1 but you are connecting to a Exchange 2007 server. I'll have a patch shortly to ignore the field in your case.
I'm closing this issue. The main task has been solved and the remaining tasks now have their own issues.
Hi,
Sorry I'm not sure to get your point. Server connection works fine with the following code:
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
creds = Credentials(
username="DOMAIN\\NAME",
password=pwd
)
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx', credentials=creds)
account = Account(
primary_smtp_address='user.name@xxx.com',
credentials=creds,
config=config,
autodiscover=False,
access_type=DELEGATE)
broker = account.inbox / 'Broker'
No idea why one works and the other doesn’t, but it’s not related to Kerberos auth. Maybe they are hitting different backend servers? Anyway, did you try the patch?
Hi,
Thanks a lot for your feedback. I see that in the case I use kerberos, it goes with the following API:
DEBUG:exchangelib.services:Trying API version Exchange 2007 for account None
In the case I just use the normal credential login/pwd, it goes for another API:
DEBUG:exchangelib.services:Trying API version Exchange2013_SP1 for account None
I'm not sure why.... Can I possibly force one API to be used?
Anyway I'm not very sure how to test your patch. What I did is download locally your lib in my project, unzip it, then with the project virtual env activated I ran python setup.py install
And it seems it had done the work. Let me know if I did something wrong.
With the same code as above copied in case of kerebos use, the following lines return an error:
account = Account(
primary_smtp_address='cyril.frelet@xxx.com',
config=config,
autodiscover=False,
access_type=DELEGATE)
Error:
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry' element is invalid - The value '' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType' - The actual length is less than the MinLength value.
But at the end kerebox can find properly my user name as it print out:
DEBUG:exchangelib.account:Added account: user.name@xxx.com
So I'm wondering if something is not missing in the Account parameter. In the version that work I inject the credentials but here credential is empty as kerebos handle it. But mostly I feel it's because it goes to the wrong exchange API.
It's possible that you have two backend servers on different Exchange versions that support different auth mechanisms. You could compare account.protocol.version
, account.protocol.service_endpoint
and account.protocol.auth_type
in the two scenarios.
I'll have a fix for the ErrorSchemaValidation
error shortly. It's an issue we only hit with Kerberos auth which isn't exercised by the test suite.
With Kerberos I get:
version:
api_version = 'Exchange2007'
build = None
fullname = 'Microsoft Exchange Server 2007'
wihout Kerberos:
version:
api_version = 'Exchange2013_SP1'
build = '15.0.1473.4'
fullname ='Microsoft Exchange Server 2013 SP1'
with Kerberos:
auth = 'GSSAPI'
without Kerberos:
auth = 'NTLM'
account.protocol.service_endpoint
is same on both side.
The guys from infrastructure team told me that they just have one version of server.... Any idea how I can test that on my side?
Could you let me know also if I tested properly your patch?
It seems the error message you mentioned on folder:EffectiveRights
was till there after I downloaded locally your lib in my project, unzip it, then with the project virtual env activated I ran python setup.py install
Code:
import exchangelib
from exchangelib import DELEGATE, Account, Configuration
import logging
from exchangelib.util import PrettyXmlHandler
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter
import requests_kerberos
logging.basicConfig(level=logging.DEBUG, handlers=[PrettyXmlHandler()])
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
credentials = exchangelib.Credentials("", "")
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx',
credentials=credentials, auth_type="GSSAPI")
account = Account(
primary_smtp_address='name.user@xxx.com',
credentials=credentials,
config=config,
autodiscover=False,
access_type=DELEGATE)
version = account.protocol.version
service = account.protocol.service_endpoint
auth = account.protocol.auth_type
inbox = account.inbox
Ouput:
DEBUG:exchangelib.protocol:Waiting for _protocol_cache_lock
DEBUG:exchangelib.protocol:Protocol __call__ cache miss. Adding key '('https://ews.msg.hk.xxx.com/ews/exchange.asmx', Credentials('', '********'))'
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 24292
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 26557
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 24679
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Created session 25125
DEBUG:exchangelib.transport:Getting docs auth type for https://ews.msg.hk.xxx.com/EWS/types.xsd
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ews.msg.hk.xxx.com:443
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
DEBUG:exchangelib.transport:Request headers: {'yyy-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'text/xml; charset=utf-8'}
DEBUG:exchangelib.transport:Response headers: {'Server': 'Microsoft-IIS/8.5', 'request-id': 'cdb79508-948c-49b9-8ae4-d05dc5239dfd', 'Set-Cookie': 'ClientId=BIOBCWVVUKTMBKDTW; expires=Thu, 20-Aug-2020 07:18:07 GMT; path=/; HttpOnly', 'X-WSSecurity-Enabled': 'True', 'X-WSSecurity-For': 'None', 'X-OAuth-Enabled': 'True', 'WWW-Authenticate': 'Negotiate, NTLM', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG01', 'Date': 'Wed, 21 Aug 2019 07:18:07 GMT', 'Content-Length': '0'}
DEBUG:exchangelib.version:Asking server for version info
DEBUG:exchangelib.version:Getting https://ews.msg.hk.xxx.com/EWS/types.xsd with auth type HttpNtlmAuth
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ews.msg.hk.xxx.com:443
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "GET /EWS/types.xsd HTTP/1.1" 401 0
DEBUG:exchangelib.version:Request headers: {'yyy-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'Keep-Alive', 'Content-Type': 'text/xml; charset=utf-8', 'Authorization': 'NTLM TlRMTVNTUAADAAAAGAAYAFgAAADUANQAcAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABAAEABEAQAANoKJ4gYBsR0AAAAPDP1PhHJYEup1xyet5An+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIIi/poXKEAsglMK/OdpY8IBAQAAAAAAAAEzTJbwV9UBhkBkRFs7C3gAAAAAAgAGAEMASQBCAAEAFgBTAFcAUABJAEgASwBNAFMARwAwADIABAAOAGMAaQBiAC4AbgBlAHQAAwAmAFMAVwBQAEkASABLAE0AUwBHADAAMgAuAGMAaQBiAC4AbgBlAHQABQAUAHIAbwBvAHQAaQB4AC4AbgBlAHQABwAIAAEzTJbwV9UBBgAEAAIAAAAKABAAPCtRZj5WIc04C6DW8bTcSQAAAAAAAAAAuUf43taMbnSfPcZabgbGfg==', 'Cookie': 'ClientId=CWY0BPELEUMSWMYWJJG; expires=Thu, 20-Aug-2020 07:18:10 GMT; path=/; HttpOnly'}
DEBUG:exchangelib.version:Response code: 401
DEBUG:exchangelib.version:Response headers: {'Server': 'Microsoft-IIS/8.5', 'request-id': '6617376c-0e54-4378-869d-f05c6859be9d', 'WWW-Authenticate': 'Negotiate, NTLM', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG02', 'Date': 'Wed, 21 Aug 2019 07:18:10 GMT', 'Content-Length': '0'}
DEBUG:exchangelib.version:Response data: b''
INFO:exchangelib.version:Unexpected HTTP 401 when getting https://ews.msg.hk.xxx.com/EWS/types.xsd (b'')
DEBUG:exchangelib.services:Trying API version Exchange2007 for account None
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Waiting for session
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Got session 25125
DEBUG:exchangelib.util:Session 25125 thread 14236: retry 0 timeout 120 POST'ing to https://ews.msg.hk.xxx.com/ews/exchange.asmx after 10s wait
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): ews.msg.hk.xxx.com:443
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 401 0
DEBUG:requests_kerberos.kerberos_:handle_401(): Handling: 401
DEBUG:requests_kerberos.kerberos_:authenticate_yyy(): Authorization header: Negotiate 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
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 500 None
DEBUG:requests_kerberos.kerberos_:authenticate_yyy(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_401(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response() has seen 0 401 responses
DEBUG:requests_kerberos.kerberos_:handle_other(): Handling: 500
DEBUG:requests_kerberos.kerberos_:handle_other(): Authenticating the server
DEBUG:requests_kerberos.kerberos_:authenticate_server(): Authenticate header: YIGYBgkqhkiG9xIBAgICAG+BiDCBhaADAgEFoQMCAQ+ieTB3oAMCARKicARuBa3f3c1BWNM4/knFFjbBlQsxz3xPkfEEk8DqR8uuOHGDBMVj9lH02NUQAfQfJk8zChZO47uTVG3YRx+fvrNCAXnBDuqxr4nn6nRbjvn+Xwmd2X5m3fKNRh4cPWEiMSHCXb/ATUnDdAwAaHbs/Ws=
DEBUG:requests_kerberos.kerberos_:authenticate_server(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_other(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:exchangelib.util:Retry: 0
Waited: 10
Timeout: 120
Session: 25125
Thread: 14236
Auth type: <requests_kerberos.kerberos_.HTTPKerberosAuth object at 0x000001AFC01AA160>
URL: https://ews.msg.hk.xxx.com/ews/exchange.asmx
HTTP adapter: <exchangelib.protocol.NoVerifyHTTPAdapter object at 0x000001AFC01AA048>
Allow redirects: False
Streaming: False
Response time: 0.17099999997299165
Status code: 500
Request headers: {'yyy-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'text/xml; charset=utf-8', 'Content-Length': '443', 'Authorization': 'Negotiate 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'}
Response headers: {'Cache-Control': 'private', 'Transfer-Encoding': 'chunked', 'Content-Type': 'text/xml; charset=utf-8', 'Server': 'Microsoft-IIS/8.5', 'request-id': 'aed02ef4-fb57-41e5-a26d-50c6de1026e8', 'Set-Cookie': 'ClientId=UDKUWRDFU0MJLPIYXEDQ; expires=Thu, 20-Aug-2020 07:18:10 GMT; path=/; HttpOnly, exchangecookie=5e604c9e987a45708c2026075954b9e4; expires=Fri, 21-Aug-2020 07:18:10 GMT; path=/; HttpOnly, X-BackEndCookie=S-1-5-21-2847098101-2387550839-3588296759-385575=u56Lnp2ejJqBzseam82bmsnSy86cytLLz8ec0p2bz57Sxp3IzJ6emczJyZrOgYHNz87G0s/G0s3Pq8/Ixc7Hxc7P; expires=Fri, 20-Sep-2019 07:18:10 GMT; path=/ews; secure; HttpOnly', 'X-CalculatedBETarget': 'swpihkmsg01.cib.net', 'X-DiagInfo': 'SWPIHKMSG01', 'X-BEServer': 'SWPIHKMSG01', 'X-AspNet-Version': '4.0.30319', 'WWW-Authenticate': 'Negotiate YIGYBgkqhkiG9xIBAgICAG+BiDCBhaADAgEFoQMCAQ+ieTB3oAMCARKicARuBa3f3c1BWNM4/knFFjbBlQsxz3xPkfEEk8DqR8uuOHGDBMVj9lH02NUQAfQfJk8zChZO47uTVG3YRx+fvrNCAXnBDuqxr4nn6nRbjvn+Xwmd2X5m3fKNRh4cPWEiMSHCXb/ATUnDdAwAaHbs/Ws=', 'Persistent-Auth': 'true', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG03', 'Date': 'Wed, 21 Aug 2019 07:18:10 GMT'}
Request data: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"><s:Header><t:RequestServerVersion Version="Exchange2007"/></s:Header><s:Body><m:ResolveNames ReturnFullContactData="false"><m:UnresolvedEntry></m:UnresolvedEntry></m:ResolveNames></s:Body></s:Envelope>'
Response data: b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>348</t:LinePosition><t:Violation>The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'
DEBUG:exchangelib.util:Got status code 500 but trying to parse content anyway
DEBUG:exchangelib.util:Session 25125 thread 14236: Useful response from https://ews.msg.hk.xxx.com/ews/exchange.asmx
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Releasing session 25125
DEBUG:exchangelib.services:Adding missing build number Exchange2007
DEBUG:exchangelib.services:Failed to update version info (No header in XML response (b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>348</t:LinePosition><t:Violation>The \'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry\' element is invalid - The value \'\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType\' - The actual length is less than the MinLength value.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'))
WARNING:exchangelib.services:EWS https://ews.msg.hk.xxx.com/ews/exchange.asmx, account None: Exception in _get_elements: Traceback (most recent call last):
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 90, in _get_elements
response = self._get_response_xml(payload=payload)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 215, in _get_response_xml
raise rme
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 172, in _get_response_xml
res = self._get_soap_payload(response=r, **parse_opts)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 269, in _get_soap_payload
cls._raise_soap_errors(fault=fault) # Will throw SOAPError or custom EWS error
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 305, in _raise_soap_errors
raise vars(errors)[code](msg)
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'http://schemas.microsoft.com/exchange/services/2006/messages:UnresolvedEntry' element is invalid - The value '' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:NonEmptyStringType' - The actual length is less than the MinLength value.
DEBUG:exchangelib.account:Added account: user.name@xxxx.com
DEBUG:exchangelib.services:Getting folder Root (root)
DEBUG:exchangelib.services:Trying API version Exchange2007 for account user.name@xxxxcom
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Waiting for session
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Got session 25125
DEBUG:exchangelib.util:Session 25125 thread 14236: retry 0 timeout 120 POST'ing to https://ews.msg.hk.xxx.com/ews/exchange.asmx after 10s wait
DEBUG:urllib3.connectionpool:Resetting dropped connection: ews.msg.hk.xxx.com
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 401 0
DEBUG:requests_kerberos.kerberos_:handle_401(): Handling: 401
DEBUG:requests_kerberos.kerberos_:authenticate_yyy(): Authorization header: Negotiate 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
H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\urllib3\connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://ews.msg.hk.xxx.com:443 "POST /ews/exchange.asmx HTTP/1.1" 500 None
DEBUG:requests_kerberos.kerberos_:authenticate_yyy(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_401(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response() has seen 0 401 responses
DEBUG:requests_kerberos.kerberos_:handle_other(): Handling: 500
DEBUG:requests_kerberos.kerberos_:handle_other(): returning <Response [500]>
DEBUG:requests_kerberos.kerberos_:handle_response(): returning <Response [500]>
DEBUG:exchangelib.util:Retry: 0
Waited: 10
Timeout: 120
Session: 25125
Thread: 14236
Auth type: <requests_kerberos.kerberos_.HTTPKerberosAuth object at 0x000001AFC01AA160>
URL: https://ews.msg.hk.xxx.com/ews/exchange.asmx
HTTP adapter: <exchangelib.protocol.NoVerifyHTTPAdapter object at 0x000001AFC01AA048>
Allow redirects: False
Streaming: False
Response time: 0.10999999998603016
Status code: 500
Request headers: {'yyy-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'text/xml; charset=utf-8', 'Cookie': 'X-BackEndCookie=S-1-5-21-2847098101-2387550839-3588296759-385575=u56Lnp2ejJqBzseam82bmsnSy86cytLLz8ec0p2bz57Sxp3IzJ6emczJyZrOgYHNz87G0s/G0s3Pq8/Ixc7Hxc7P; ClientId=UDKUWRDFU0MJLPIYXEDQ; exchangecookie=5e604c9e987a45708c2026075954b9e4', 'Content-Length': '1166', 'Authorization': 'Negotiate YIIePwYJKoZIhvcSAQICAQBugh4uMIIeKqADAgEFoQMCAQ6iBwMFACAAAACjghxfYYIcWzCCHFegAwIBBaEJGwdDSUIuTkVUoi4wLKADAgECoSUwIxsESFRUUBsbZXdzLm1zZy5oay5pbnRyYW5hdGl4aXMuY29to4IcEzCCHA+gAwIBEqEDAgEBooIcAQSCG/1MQxropDCO5chDlT11gMQJ9QnOOpx+3oWY1RVMzAjIidsvwJDWTlS0JdTLMmAokUFOg+BGJ5Ji+mGTADBH6HjFXvYr16aGoSgaHwdCwyJ8vQf7kvGOpL/fSNR7z9z/BQmbublfs1i2mwWIgB4bT/pEGTbfihIgqLgtgqTQnCWMxaVoUQXc+sF6qiZLiYBnQOjpZPk9J2HdSPzXj/qqOx7EXuRwuYnO+g99PL0On4zeoT9MvGvDa4+iO+wsUhipVzjwPDFkVPVZBU4yskgvlkvXEF98PldV2FxZr+vkOix3hJS8RwMUKFEAgFLZNSqDwzhBf3q3e4K0xFHL7NDBy+ZYddHH0riQfbCTf9bOtmpx2vWptXz6m1Ph//LCgzNYvvOotM1QauBYnnPf9Dlk9eNmIi5iXAFXV0kN/AXkGjyzrDvju4WiCmeH851U+cBeK9tU9H86n2l6eTrUn5d4pPjFvPhTqWu7spxlPMZm5f9Mww2Re6HPhR3UntnmTuta0NUdn/zoARWUuCNTer7hXfbmdhM42uBfch7Xk+8Ltgw58dIOwp1Z9zI5T/cn+nW3HOc3G7QUApx5+Z3BCOc4uLSTgMf++dyLUc2mjAF5KR0vhVrKeN9BtlQCbADuv/iJqNq5vRjwAfEE9eclpOMA7zMpB+V05h6/9afIb1ei3f6G9nGKbVprpXY7BMPNY82bNmEbu8Nowxs9PtEY0a7JRhx2BCGRjVEhyYqI7QSED6U/iSSKkNKCVtgJOw8LFJogtawg2+ir/6wfxM7dZrNP6bp7C7czmOIQz336pKQA2yoqKPvdPFWwNxNsFU7sMuUzgBEIOLXNBnrT5CPjA8s6P6Aa6YwxitPGony20nScXuygYHhPG05R5U142M7md5br8CdajqbkDliFS9svQ2fJovOBEbCrSGzp8E8eh84/H1EA1y8XNAV5NO8wMTJN99w7u94G5EVdVOR0w1o5zE3r+hdx/EIX4CTO12J6D0PMKQJWHPpb8X+GMsXzDRJJ4WZbSylgwdgNxAggXpjBxnlmXo3u99dRMgSxezb3hlZZhmWTn8azt5fDxOjiGhVFuLFKupvYAgKZByax03GncvvkQxz6/pzqSDku9s+OjLcdpnl0/MdPe++hlGdc4GtJxykf+IqLClBuGvVJzOl8lkknJ5VdoqvZVwH1ZD/EDj0FIafxiuXAFciB4KewYOrEfBMG8e0CrNFV42PYb7vZsnGwKgjTh43OwJe6pGE7Wt4uChKOhFGQJuZCGU0SXvMbm5hsdhvO9OsRN1HKKw3Ha5iswu2gQBl07tldEkszY7k03hh7asw3t+AjqARK6PTf2F8vkUrNaqAF6gRZAFoq6IXAya8ZbUjxcBS0U4QSlPoXJ8y9k63Fi5pINneDsCoACQZqu/adpe61PY6oK/Ifup/7ppdcT5FMxlXefJybof4EKks7mVxW4r2iDFz2RZXS2ljSFQNIG1M5AHANLQvfbVZVc9I0edJqlkfzFIhIbInzlmLtMp1BWLb2bk6JBlL30y8QM33KRvZ2mVYGxUO/9AWRX7ayXzbZl7Bc/scRFmOf3N9zQJOA/dgr+5j6hoPex45e2KUtr641DDBVnXe53FpQjRPbi9E69EGgsnqSiRpqedz98ay7/wiGlpjXW14llPxXnp9TkoN3VU36nBOj+nCTmDv1myvrvwLa8aKT/0JS+wsW5jduLFNIV3GT1Jl82xe2n+4fw8NdI8qrP7DTXZ1xer7cgiTE4HB8lUEkVkGobaAutB+0/r01F0U2nY8Xb/RFvPjOjU0EaADIVK2rbGrmOyFTKN1ikxqfCuwHt99xW4GBUMxpJoHCO7RI/zJxcFNpzVuUZ4dqIJ7IIzQkNXcnP5VbzI/TVCjBlGo6beODswGAYxnRPUyGVe4Scs4O0oCmgKPxauevLptHG2Oh6rHTiNooGLecwO0KBBTMi0Xj1NxZDhMkQA/ckWBRiJqVHSvs04em6y+6c7Z+t7gvSzYLYY6sUuy/lr5lu5jHRtR8VcghVYbDHiBb8YC6cnvBSNOaElc/m/MAn4n5Pyg4RZeF5BN8ABlH8FVBRrI6NPZixh57cJRsDkJxbHgnzHC3AGe5SZ65zz7se5bdIaUd009I+sVdfHbqNwucuoVGSxYKT4SqQIOvNVQ+wABEiD2QP5ZMWeRJthWPRkWXTRXm3ViORMpAtx7hlGqIIZEyTwwNCY5l9iPpLY68LAoPtEHVmlPowD8PIPrIRlavI29BmyoKv0QvrSXJp0U6pzwHB5dlFM5wFJyh1MUmQJ28kJlvX964+tnW67TckndvOUxjA/3n+BxVlM39pVk/4WytWLYkwUnJQyehqBrP+WsR9FTh3h9MYiI51UUDOGngu315mYOE6YB6tq6MSqtllYY769Fjei4byEfUEYj5tXXYHAoEkKm+vuz2gitn/h9xSD1BDye5Wa6ar1nW1/iCEmek251iaA7H0My3uBgAAvPGEgxO8HI1g41Ne/IxFd3UOfSsRAlVSDQdXZVfB+BaN2oIIZUIkZWf/B6elI7sdi4CMX7R+vT9slT7fBvZRdZyu1fPj535+rEYYx+4aohRGZABXEmDNRqLa3BQGAQ/GJAPk4Iqx0NAjP0pwmVPzwItllMytAy4OPBJAR69lb9mt6UL7zUXx9rYgeZ7QEg2Tuewli+Lg2WDr02PBzWgVoU2z8esQT+T6PF846wRaytoLQQ7lDz1fNd0/bLXy0wPwdf2igAIky4wG8YNd7f+1s3p02xdkoeUnCkxgZ7YzFYP6MYP0ky5nX5YDv+uO51nHog+2Snbhf8sHiPJSYMj0nH69f3XApNakblAdzXV2WCUsegmhgFgwq3uovMu4S18/FXHVEOmI50J9Elj+rjcpZ5M5Agc4N9U9M7wxb8+jivnjGDfpljx+GOHRrP3dFHW/VFBEJlbWa4QJtaTJPKZwS/HWy/LLtSvuViWUfHNgrDPp4o+IRKaz8IdddqLZvhks61uV66v0b+tnhDXaLEgxRswUZ0+rO1EZTMh2ptKINh21uLDOUBVNxvCKJx0epHXwdiJWXi0+J/vsQhyJrxJEvZpxspXjqTIYjqekQGO/b48USEX+83OpZJkeoMi4WbiMDBqZ0SRg13AP1n2HajmBEzHlm0SLQabcbuSEpkZM70QyNzYDluCwy7D4Sg/M+sRaWkNp7Bieo8TNvsK+JOv30IH2XA04XBs6ydtC/vYAY/bWgPGj7HS1kOBfMk5xV1C0ic3S9s4UV1lWo045sPjAxTegyGbbLztXzJd6rtBN9Uee6i9hTDzJwK+65MtBC/r7Bhsq78laqtfljy0TgYbtN9l/XeO1HziRUM26eVhq6nPaiIErY3SckeiZQNXg7jYFv9JoqMHHyXpZ6F8F6pai+XJnmWfou+Kef9ccpAb4gPLTNaTMozvl+vUtukZbzvdjiuA9tq0/c5BTi2VvlBmJQTGDZk9fvYDNSyBYTA/p+ts6lhcDj7Ap9z3fAivlQg4VfFTfTMW+15kJ+g1Tx6RbZeHE6vz/n/qYNF1VQGHl/eLjxN+gtOMbrsMY1RjwKi9MkSboQwJEHH2WI4pSApjA55TybZhzZulyBpkmGvdL9gLLNOan1w+WZdNZ0dKsoqLFGS8SLX3AY5RSYbHEYw1pnAtsKBgkkrdg74LqgoplKecFNcsIqpzbjiJDhTXy3/+ZS/ESAT8bfai03lle/T13xOlyiWkeErT1IXWlqwJH3zdQRCFt1pi18VK6NZXSV5hj8b5TFfIYWux4ro6/EgKi1gbYo7qyR9I/694iIisIvGHkG4LN2VrkR5h9KWCYj+AiJYgttEwVHqNVcZgwPcVLew27p49bXghcoswOpuMoMRF+YUunS12IcYVFGg+rv6KjzgkWo6kWTNeZDd1QENMX9AETXPMxFbKfv7VdWqhcSSb6g3XyAUSfnSGaSz27ZHPib8ROjK/OAIymv0/3JSdygi6GZaZE5TLvDgBL2eGN87ipwYRKvG9uwFw1c+fptIkKe5T7vKC1CsB3dPqT3Xl7mKMG/re+CydAE9BNRXMvqGjm8FdSw2gdgFzcmWuzU4lUHoN2Wq+zldg+49TXe2FvrzKTEFa7CD7ooK/HoXz9ZS9zCRB7AcGRQjEoZ8XjWrok2dlB+e04bH6MQL4GSG/gL0zxzfvnE9fBmPPa2hPVaNi6jQJRhk1fR0ObOOrAVTYvx72EGgrTgGE7FCz0D107RKRjgt00eHjvQylxIgblRLaV4jJsFn7DVl+t9hLnGiFbeHnY4kiZJZakd6Le/UO7Xss7/hXNMT1Be6eU8EgVFrNEsWDZXXExzdXnKaHpZf5EPBhkbTvfKgo9uC09JfpZJjrECf4y1NBHOfQoNpGm0uRXebL/AIzzJ7uNQNHTfp6rw27AdsGhUPwUdH2coeQuKkhP5zONfVpEXVuV3qvTsp7DOgmxlRc0idfcgBahWwJgoA/LrkcP/lXVToeuNZ0RFBhePsuw1peq8JmCvS9uEj9tIeOaWzBQ3ovtKSA+orUb98V99/ZEDMvemHLEtmdhz3Bn6/QrnhQEClzUFjK5LZ+rpzvrfkKmAms7YT8+yqoRT+TeV88PSmD2aHF2BSdyDInlG0pWjln1o3VpwXKF0OngmegY82j5qTlEWmB90Dj8c+Jonq2l38XlbmyRUx6ekuAu84rsPoKmgggQ2ORRt4A1pYm/p+KZmiuBCVOhnr0qCRnlRUOiTn8RLz8CGn1OHU7SYTPdflVYWzVlB+CSyz6xLkL6f8xyJh20dxWwE4xo7YVvrdWZyXyzol4YDB5IT5q9lMDRyUor3z5S23+FuqXvT27MyhvanP8lwUtZ0nlNc371XKfD2bvbXd42LDdwqp7CxBhadmPCLSoMss+Jv3Et1k7WgW2BVmeNFRdfB0C3AI4QYFojD13AA7xoqSn0OTnyiYPSGSHMEslzTLX+yw9cSkz9yhSOEdQPHVWepYcKqhWfjPXXonEVOeS2xc4KqyC/7ZjQgdYPX3zp8Tou+X/vXUOHMysT+I2TAeVMiaJj2fZrT+AeUAv/qWjwMtyNOcfHpvj+EoSniPlZpF5VFKc8Jz4BPcGSarR9Vk7KbUI0nuTIl0LSEDa76XZ1seqxM7F2BgcJTU0lNa9K0lDbgWJfk18iL8woVidQNFWoGpVIjf4GBCTvW8abDUbuzS7ujSuL1zwb+6FhcS/y1bCrkGQ4tlTYjYbmn2eFx3dpKP+dcQCiRLqqbVvM8Q4XKhQOZ6lqcrfVgOfoPmeq97UB4ORW/I+SGcDL0b8VNlvqWbgFXmfmFsdTHQPoLitpBafa05N382vK5pm1wSuEeoxe2iardbmoy0FUhxFAOP1aqzGrGosdXVWXXV/+wOKBJGpOqRPl4puo4hRG2CYcjWAr89OybISgaihtMInO5zu+BVcFyh6z8du0PhAU2ihI0WDoPGla5ChAyIyFYLQ5ARPOD4XhabXApTcIeocj0OjYUGmWun66pMM/3LprCa73MwHmE2MlTVwYHrL71WPwttSOTtM63K4mwbd99qvXUhcTBxUom9Z7px4kMA0XL1OEfRov8MMndohjjCijAtX5Sxc4hKyQ8J+/8ita/NFW5mBreWtSs0SzTZX+qiJP8GPspu539eksp9dZRBHvFe44ifQVQAEzhEvf+R0xRblTuhBKi2OMRRsIKITzUR1QfWXRjNSMcXwJO2o932y5JVuMzR8cZVrZNrSzHeAK0S5Q+4/OeeLrKqvItI6smlhvA6SgcvSnFVQuwDR03AqI3mN40SoWXLxJi/ZTb9rIHNBu1kkjFzWWV5LcvHjKTUIIfA/SKcXL4crhJenZQqnQKgEBrOlauS418vS9I+GMEguk5e6cMR9n8A1IjPhn6qO+XoI2tMjHhWmhmSvRRKZb+F5z7WiQCLkIcVEbhhlBKDW5veraRtOh711f2QPu7UvSAaSUMmCFcuXAVyr20JXjPvbvgR24IPTJN7grgKYi19X+s6oZuensK2I1UeQP63Nr5fLGNZTUVEnS3ZOwjP00/r84hB7wSmh+nX/zv3rUyAleUV0T3xZdpmjE7pQ2y0TLWe7jxxhywwkbau1/oGHIV20qlJD8e8WsIntlCMWwkElR+3JitrMxByaMwVz7Uh5Ef1gVv6F3N/QMvhKory+3DB/ehXYO19P7pv82FHX3MKTGoRcnhW4iMtKQ+sm5Mjn0Y0a6ytP6E4D6stPMdPPI57I1E0+56d3Dg/Rke0wH+7BsPkqybJfEcQoPe8R5gjDtbylYN0qwVk5VrjppckONgzps+edhkvYTRIBEzmDGxul+9l9PcDi28kxKtEcqUQzYuhikR0V4FS8eCw2g9zGatVElmK6KTeJTBhsChEX6VWElMRi0jHo0Nzbs6lB8hBVtPf3iGRV9+Hv2MalAJK62DM8jtUoWMmqPXJnL3UOkJRNKzDUgmcHWB/qeLbVNkjoDNkvgFTa3ORcpHCnQSf2SItW3nWBWzq3szbgiiFvmD6UeqRlPggqzHQxr1MoS8Fukmg1w8ZF/lGyg3/LHH0YW2kLEN0Lp3AitwquQqJaBkWAyCUGbQrY/ED8XkxB8t3Jdr/bg7G/8vgMMHqgSP4+CrT+5IltcSuDzRFb+We4mBtZ30HHJCJ9C8GfNKRSzBL3E0YWAnN+66qZodzdnQAMWguOqnnhr+MSCCuMt8xx642/Q1P/Un1NbNSkrKiB1RR/MtCePsudV0dr65jh+biXtkgSCbvxiMCQ9IIZQoA+MRPGccglsYXKnfYn4Xjco8lwBziDcX3Zz4lZuVsGLfaudGwqpclKbXpAFil/Js4TuBrg4+jQkl3KSRL1L/cFDMq0tGgRI5xJN+IO+n2LKBweIQpDJZqSNQSn5obmNGvuVTD6HSDWTjud6i0KifBurBN/xVvIsoylL3ohSZA4qtRbpVsf+2AgzzDAlSnkWQx265fmTq+Lm3jFhb9LK4TfsCCWtQzV5MiWbq6T8FCGOLqglGcI3qq/tGcGXs1ykWqU6+gPRJ1d6YhoxfIDULyepYg9/vFVuZVZbSL8tEXmE80vL7ZufTLxY/6UgxY4iNqEgIAu6Xb+A3uI6al0FZdB3lhaH2Y9CT3p8QGe+mE+Kwcus5jB2xzuBzT+dILKCmCE1M0NS1vozuI2hgUmD90p9gglZDkDz0oK1YG1+kIuDH8kndiZ7iyIm/pLeUWb4QQc7iZ0XrzwUmGZO9QNG1PPxmkVuCOfwZ+8bJHokwVVhbiAoj2PVp4XZ8EaxxgwD9bB7F8hEOnLZk+3i9NXjCUg5Y3iQ4ryDIjjtIba75t+6ODrgulpD4w0a5VO0OIfCtuigDVgk2Z2/8J+5dFlECu9Mm953iLApSMjzCbHUiLWntp53MpE6ELxMK8RjnFyVTdsw1GSI43XZTrsglxvbtNlmS7/aoja03dwpIaV8156dasAdiF/oPh1OZALzCyw2IRq+JKqsuL/huyT0RAuzPrtkaB5SBxDs+JXV6lvPmbfas9HBf5GuvAZKjHPtJZyRYWukDEXMiSBU1vKdna7wNJROu7n09YDbupM3oDvpDQo/eaZgN+HHWfr3LoVl+JxSqCfB6dwRTB9kZ/LX167nnb1hhTqGs5x3S6lHcUMB/6EOjKWGmcTw3BWM0kx+UF08nPwZC/gy11VeaSGW+xd3/79bskVaJPDmMGzp49/lN3RucKQyK4OVPivGX0sAOISmi5zvH3oHg55aEtF58w8Chj3HN07Nsqyi03ebQ7Sol+4gtqDgq+MOS/nMh3Lt63Rrt9ru7+vHJnyiAg3ba5n4EA1jMbiOSPOmW8emLpiWqGYohnoKqlL4A9gtbNHviOpWsA0Rs2vzVTQqVG6a0XXybES6OzJfJYl5sIelgjAv24CNh98Z06supBtvYunot2JK4ig30zT8LrbWQ6XBSxqukVczlJn0EKgzLETkDchnZgDcGv/SjI7vzyPXvzpp64v4J8vdWfhWEvicpxnxMSz+s2ClCIDAsuzONs/Yvb6CdVQJ+Op1dBWUwZhvEvEt9qRz/9n3VjIz3LM65znwvmFrGbyqq8yzqrj2sp6l5MgNWWJYBlgrrfEI1g2lo7UtHpCDwmZNgrRD2UEg/D+q2br3bdCYOkb+xxMpMOGJ3gPEZMTStToa1dr7FlR1t8YRrtPfv4kCil8VBKuzC8ZFk9sEIYUjDr6zllKoDpcbjbMw4lJJkLBTdf4kWOdD1kydM/Od1BLsN6hM5NZMbGeeOoLilzBGZgsiW3agzd3Fs1FliZMy2fB0SlBskGK/+eEKN8nSqhKTWIPUEQqPaLPBkP000q6nLiLNDY/BdJxeQgg9kRZmiJ4guk2OGSLHPaHwKVV8yWmQDVg3QAz3FSGsSiMOO99b2E0JzbmKJLUbNi0H2Iv2wpBnqPlf9jwpWNpmNv7oon31vw0Sri3wD2iVY1etRDTibJPNqVrj1tIaq2VvtU3JpEqhV6/u43rKUEJ8Nugu/aRXZvZS3T/qhOn4/h9bVsvfHm/z4dXWaRxL81StP9XQbx8Tnd5NE/v79Qk4Mq0aN2ehnI/fjSi1mQXikjtF6zZCP6yZgCQXTyN5kdPn+6trQ+YVE4wJlGqoaYyCOqOlJzyPzsEjnVMp5tmClEUVNr47V6ao8MmkrNJyyC/4uUVrZfWQyvRKT5e4FwCf8NCMDnRu5JNpWJXE6JZ6XlbNTX9MNXNwBcGvxesELe/hoJIh98Abm5pCTd4BETioWJozVssWJtTS5aqG3PR6IPvGOQQhp83sFmstqhI49b7cpOIY8xMc4F3ADhv/rRAS78KxCW7KZuj1KP7UKDjE4DPaCVD4XHYE3TdWUtQRYkTnVSbNwid0vVT/L3i2cAxpYxmwT6lZxg1eKofdXhFDcQIvd3OBHERRllfjxBdw6O4e+UuWYYvYi5sF7MPWi7BkLSmFLbHPjX8rv0tS+XlUvovUQAl4HaE51KXAogeTiMpBNyJq2JkVWb1gMeBTyRfBNIS2lldvbsyTzAQKZ2pH+/F2yIjx5Vvbi47wkET1maxdBz+baPpP+3/QJ4uLk2JIimT5VZP3/zqMKLD33sLbtv8yMqm5T6RedW6mFQRISGDUFqOSQ6EKb3l4N5bnmmpWBcJqI2gFZJryYLCexRdOdTQfY7b5judqf9UHVMWW/5rKSirxKEaDoa9ouHJkv8ZMsON/NPu9w7F4sCW2mr21Kxlgez8Wz73f0ayQxlk/vLfp0Jd1j+uu3I/88zAgLjfc52yGdV9rgqOC/CV/eJYDG/9fvSjt9nD8qWRn6guPZ7VQBvc71rvGFfmHH1qa/IIRkgRbWnMmYqdyQ+nFAag7BQ3wRTglx96INjPfU62up38G8/AcOymcwpD9BL3bBkCXVI3P2E3yQjHo+tOJie0wnkN2ELERoAyuTCuznTnHjjoPuXLupMNjJWu74put7+w0j65itg6g0eXlGjIuTR6CVfl+sPxNaqDsk6MnIWrHWUgKwzONYFDauonMIJfLd6Y1tAdrxcWsDWkWgCSYX4TQJzOzydOxZb55miOyt4B1Iy0El+wuFedpIIBsDCCAaygAwIBEqKCAaMEggGfxUhUZU3Ki5gK7jqKpS/86MjMCdxb3BTFfcG2gLlno3VpWFtD005Wt0EtSmoxNJR6Aw6u0wuBTLWtzH98aZqlRhABCvy7Cbr/JFnAnj+6tQ2A7aOFUND2xd/XWhG/4bNV0nDEIlJPMBRHSPoobhFJ+xauFbwcVvde0b2lrLWwWEEAANm1Jheakh+br3DkQE8+sC28S/EdUde/2NVhFJLKtTbWqFWlv5keiKut4bEiXrpFOKFVRCAImoBx/4xCUoUL9hXCtVg9rLcpmtqY4MTvdWOhuamK9Yg43Fks7eU3QatRUj6sjwmwRn6rxduXLS2Bk/QqubVz8Np4UMKdxwcjDvhKVhO2zNE0VifH685eXGTh20lIYGyGRDsT+lYsyyqMo/+bXPRKbD/lgPouC5fF5zY+hTJMRptGvfMHuH/6cpdxHm2QkUxc9BMVSfSWUTwpJKPql+KOFmCpTt7dolTucqB9iPsD722uG69VJziJQWYlCBfPlQKxTM7A85RHBwDk5GAW0HUknwea2J5Og6KhlEkvPPQ32FxU3LCSWMY3zQ=='}
Response headers: {'Cache-Control': 'private', 'Transfer-Encoding': 'chunked', 'Content-Type': 'text/xml; charset=utf-8', 'Server': 'Microsoft-IIS/8.5', 'request-id': '76770aa6-286e-4011-bb1b-a097b9634acf', 'X-CalculatedBETarget': 'swpihkmsg01.cib.net', 'X-DiagInfo': 'SWPIHKMSG01', 'X-BEServer': 'SWPIHKMSG01', 'X-AspNet-Version': '4.0.30319', 'Set-Cookie': 'exchangecookie=5e604c9e987a45708c2026075954b9e4; path=/, X-BackEndCookie=S-1-5-21-2847098101-2387550839-3588296759-385575=u56Lnp2ejJqBzseam82bmsnSy86cytLLz8ec0p2bz57Sxp3IzJ6emczJyZrOgYHNz87G0s/G0s3Pq8/IxcvGxczK; expires=Fri, 20-Sep-2019 07:49:35 GMT; path=/ews; secure; HttpOnly', 'WWW-Authenticate': 'Negotiate YIGYBgkqhkiG9xIBAgICAG+BiDCBhaADAgEFoQMCAQ+ieTB3oAMCARKicARuHZzkGen2xspY9oGFt4GhrPGhKKovvNKmbRsK88XKgmHggXoSi4kkkFdsrcGxpdQKRHpOlx5F5iv7ICUyrDzGrWB4VBO5hue2PGbdO+cs71oC3NuaP0fWqL/Ezoz5xK9/LO2eu2tm6S1n2f8nzJw=', 'Persistent-Auth': 'true', 'X-Powered-By': 'ASP.NET', 'X-FEServer': 'SWPIHKMSG02', 'Date': 'Wed, 21 Aug 2019 07:49:34 GMT'}
Request data: b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"><s:Header><t:RequestServerVersion Version="Exchange2007"/><t:TimeZoneContext><t:TimeZoneDefinition Id="China Standard Time"/></t:TimeZoneContext></s:Header><s:Body><m:GetFolder><m:FolderShape><t:BaseShape>IdOnly</t:BaseShape><t:AdditionalProperties><t:FieldURI FieldURI="folder:ChildFolderCount"/><t:FieldURI FieldURI="folder:EffectiveRights"/><t:FieldURI FieldURI="folder:FolderClass"/><t:FieldURI FieldURI="folder:DisplayName"/><t:FieldURI FieldURI="folder:ParentFolderId"/><t:FieldURI FieldURI="folder:PermissionSet"/><t:FieldURI FieldURI="folder:TotalCount"/><t:FieldURI FieldURI="folder:UnreadCount"/></t:AdditionalProperties></m:FolderShape><m:FolderIds><t:DistinguishedFolderId Id="root"><t:Mailbox><t:EmailAddress>user.name@xxx.com</t:EmailAddress><t:RoutingType>SMTP</t:RoutingType><t:MailboxType>Mailbox</t:MailboxType></t:Mailbox></t:DistinguishedFolderId></m:FolderIds></m:GetFolder></s:Body></s:Envelope>'
Response data: b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>513</t:LinePosition><t:Violation>The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'
DEBUG:exchangelib.util:Got status code 500 but trying to parse content anyway
DEBUG:exchangelib.util:Session 25125 thread 14236: Useful response from https://ews.msg.hk.xxx.com/ews/exchange.asmx
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Releasing session 25125
DEBUG:exchangelib.services:Adding missing build number Exchange2007
DEBUG:exchangelib.services:Failed to update version info (No header in XML response (b'<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode><faultstring xml:lang="en-US">The request failed schema validation: The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The request failed schema validation.</e:Message><t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><t:LineNumber>2</t:LineNumber><t:LinePosition>513</t:LinePosition><t:Violation>The \'FieldURI\' attribute is invalid - The value \'folder:EffectiveRights\' is invalid according to its datatype \'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType\' - The Enumeration constraint failed.</t:Violation></t:MessageXml></detail></s:Fault></s:Body></s:Envelope>'))
WARNING:exchangelib.services:EWS https://ews.msg.hk.xxx.com/ews/exchange.asmx, account user.name@xxxx.com: Exception in _get_elements: Traceback (most recent call last):
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'inbox'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'root'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 90, in _get_elements
response = self._get_response_xml(payload=payload)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 215, in _get_response_xml
raise rme
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 172, in _get_response_xml
res = self._get_soap_payload(response=r, **parse_opts)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 269, in _get_soap_payload
cls._raise_soap_errors(fault=fault) # Will throw SOAPError or custom EWS error
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 305, in _raise_soap_errors
raise vars(errors)[code](msg)
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'FieldURI' attribute is invalid - The value 'folder:EffectiveRights' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType' - The Enumeration constraint failed.
Traceback (most recent call last):
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'inbox'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 69, in __get__
return obj_dict[name]
KeyError: 'root'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 2060, in <module>
main()
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 2054, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 1405, in run
return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\pydevd.py", line 1412, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Dev/sendgrid/SSO.py", line 35, in <module>
inbox = account.inbox
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 73, in __get__
return obj_dict.setdefault(name, self.func(obj))
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\account.py", line 175, in inbox
return self.root.get_default_folder(Inbox)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\cached_property.py", line 73, in __get__
return obj_dict.setdefault(name, self.func(obj))
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\account.py", line 239, in root
return Root.get_distinguished_root(account=self)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 1756, in get_distinguished_root
folder=cls(account=account, name=cls.DISTINGUISHED_FOLDER_ID, is_distinguished=True)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 1052, in resolve
folders = list(FolderCollection(account=account, folders=[folder]).resolve())
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 430, in resolve
additional_fields=additional_fields
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\folders.py", line 490, in get_folders
shape=ID_ONLY,
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 1148, in call
shape=shape,
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 90, in _get_elements
response = self._get_response_xml(payload=payload)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 215, in _get_response_xml
raise rme
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 172, in _get_response_xml
res = self._get_soap_payload(response=r, **parse_opts)
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 269, in _get_soap_payload
cls._raise_soap_errors(fault=fault) # Will throw SOAPError or custom EWS error
File "H:\user\PRJ\Python\sendgrid\venv\lib\site-packages\exchangelib\services.py", line 305, in _raise_soap_errors
raise vars(errors)[code](msg)
exchangelib.errors.ErrorSchemaValidation: The request failed schema validation. The 'FieldURI' attribute is invalid - The value 'folder:EffectiveRights' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:UnindexedFieldURIType' - The Enumeration constraint failed.
The change in API versions could be due to the way we guess the server version. It's possible we use the highest supported version in one scenario, and the lowest supported version in the other scenario.
I'm releasing a new version shortly that will contain all the patches. It also allows you to skip the dummy Credentials("", "")
object.
Version 2.0.0 released.
Man it's great it works now with version 2.0.0!!!! I can say authentication is even faster.
Here is the final code that works
import exchangelib
from exchangelib import DELEGATE, Account, Configuration
import logging
from exchangelib.util import PrettyXmlHandler
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter
import requests_kerberos
logging.basicConfig(level=logging.DEBUG, handlers=[PrettyXmlHandler()])
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
credentials = exchangelib.Credentials("", "")
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx',
credentials=credentials, auth_type="GSSAPI")
account = Account(
primary_smtp_address='user.name@xxx.com',
config=config,
autodiscover=False,
access_type=DELEGATE)
By the way might be good to deploy what you talked about to avoid setup the emptycredentials = exchangelib.Credentials("", "")
I tried
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx',
, auth_type="GSSAPI")
but it doesn't work.
What is the error you get in the latter case? Can you find out why it’s not working? You’re supposed to not have to fiddle with AUTH_TYPE_MAP
or supply dummy credentials.
If I run:
logging.basicConfig(level=logging.DEBUG, handlers=[PrettyXmlHandler()])
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx')
I get the following error:
ValueError: Auth type 'NTLM' requires credentials
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Closing sessions
If I run:
config = Configuration(service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx'
, auth_type="GSSAPI")
I get error:
ValueError: Auth type 'GSSAPI' requires credentials
DEBUG:exchangelib.protocol:Server ews.msg.hk.xxx.com: Closing sessions
Ok. This one:
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
config = Configuration(
service_endpoint='https://ews.msg.hk.intranatixis.com/ews/exchange.asmx'
)
fails because you still have to specify auth_type=GSSAPI
explicitly. Otherwise, we end up guessing NTLM because Kerberos and NTLM share some HTTP headers. There's #625 to track that.
This one:
config = Configuration(
service_endpoint='https://ews.msg.hk.intranatixis.com/ews/exchange.asmx',
auth_type="GSSAPI"
)
fails because you must specify the auth type with the exchangelib.GSSAPI
constant, not the string 'GSSAPI'
. But since you monkey-patched AUTH_TYPE_MAP
above, the auth_type
valiadation that we do doesn't trigger.
So , a clean version without fiddling with AUTH_TYPE_MAP should work:
from exchangelib import Configuration, Account, DELEGATE, GSSAPI
config = Configuration(
service_endpoint='https://ews.msg.hk.intranatixis.com/ews/exchange.asmx',
auth_type=GSSAPI,
)
account = Account(
primary_smtp_address='user.name@xxx.com',
config=config,
autodiscover=False,
access_type=DELEGATE,
)
Autodiscovery still doesn't work with Kerberos yet, unfortunately, unless you use exchangelib.discover
directly.
Hi,
Many thanks for your feedback. So I removed
exchangelib.transport.AUTH_TYPE_MAP["GSSAPI"] = auth_model
credentials = exchangelib.Credentials("", "")
but in Configuration I have to write auth_type='gssapi'
.
auth_type=GSSAPI
doesn't work as you wrote up there.
Now code is like:
from exchangelib import DELEGATE, Account, Configuration
import logging
from exchangelib.util import PrettyXmlHandler
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter
import requests_kerberos
logging.basicConfig(level=logging.DEBUG, handlers=[PrettyXmlHandler()])
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
def auth_model(**kwargs):
return requests_kerberos.HTTPKerberosAuth()
config = Configuration(
service_endpoint='https://ews.msg.hk.xxx.com/ews/exchange.asmx',
auth_type='gssapi'
)
account = Account(
primary_smtp_address='user.name@xxx.com',
config=config,
autodiscover=False,
access_type=DELEGATE)
It would be good to find a way to get ride of the monkey-patchBaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
EWS supports Kerberos authentication, but typically only in an in-house scenario. A starting point for adding Kerberos support: https://github.com/requests/requests-kerberos