0

J'essaie juste d'accéder à Exchange Web Services (EWS) 2010 avec Python en utilisant la fourchette spécifique de EWS d'Alex Koshelev (peut être trouvé sur BitBucket). J'ai trouvé le code de base pour accéder à EWS here et il fonctionne très bien jusqu'à présent. Cependant, lorsque j'essaie d'implémenter d'autres opérations nécessitant des attributs (comme l'opération FindFolder), cela échoue.Python suds.TypeNotFound à Exchange EWS 2010

Voici le code que je utilise:

import urllib2  

from suds.client import Client 
from suds.sax.element import Element 
from suds.transport.https import HttpTransport 

class Transport(HttpTransport): 
    def __init__(self, **kwargs): 
     realm, uri = kwargs.pop('realm'), kwargs.pop('uri') 
     HttpTransport.__init__(self, **kwargs) 
     self.handler = urllib2.HTTPBasicAuthHandler() 
     self.handler.add_password(realm=realm, 
            user=self.options.username, 
            passwd=self.options.password, 
            uri=uri) 
     self.urlopener = urllib2.build_opener(self.handler) 

transport = Transport(realm='owa10.123together.com', 
         uri='https://owa10.123together.com', 
         username='[email protected]', 
         password='demo123!') 
client = Client("https://owa10.123together.com/EWS/Services.wsdl", 
       transport=transport) 

ns = ('t', 'http://schemas.microsoft.com/exchange/services/2006/types') 

soap_headers = Element('RequestServerVersion', ns=ns) 
soap_headers.attributes.append('Version="Exchange2010_SP1"') 
client.set_options(soapheaders=soap_headers) 

address = client.factory.create('t:EmailAddress') 
address.Address = '[email protected]' 

traversal = client.factory.create('t:FolderQueryTraversalType') 
#traversal.Traversal = 'Deep' 

#print client.service.GetUserOofSettings(address) 
test = client.service.FindFolder(traversal) 
print test 

Quand je lance ce code, je reçois l'erreur suivante:

suds.TypeNotFound: Type not found: 'Shallow' 

J'ai aussi utilisé l'enregistreur afin de comprendre le problème et il me montre ce qui suit:

DEBUG:suds.mx.literal:starting content: 
(Content){ 
    tag = "Shallow" 
    value = "Shallow" 
    type = None 
} 

Est-ce que quelqu'un sait ici où est le problème? Est-ce mon morceau de code ou est le fichier .wsdl pas ok? S'il vous plaît noter que je suis un sanglant en Python et surtout mousse. Si vous avez besoin de plus d'informations ou de code, dites-le moi.

Merci beaucoup d'avance!

Répondre

Questions connexes