Soappy: "Fault SOAP-ENV:Client: session_lifetime_syntax_incorrect"
Hi Leute! Ich probiere samt SOAP (via Soappy) auf den Webdienst meines Providers den Zugang zu erlangen, die er mir via API und meiner Authentifizierungsdaten zur Verfügung stellt. Ich erhalte, was immer ich auch mache IMMER DIE GLEICHE Fehlermeldung: Traceback (most recent call last): File "/storage/PyProjects/toolsAPP/KASUpdate.py", line 38, in <module> KasObj = KASSystem() File "/storage/PyProjects/toolsAPP/KASUpdate.py", line 32, in __init__ 'SessionUpdateLifeTime':'Y'}) File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 540, in __call__ File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 562, in __r_call File "build/bdist.linux-x86_64/egg/SOAPpy/Client.py", line 475, in __call SOAPpy.Types.faultType: <Fault SOAP-ENV:Client: session_lifetime_syntax_incorrect> Ich komme nicht auf dem Trichter was ich falsch gemacht habe. Hier ist der 33 Zeilen-Quelltext: from SOAPpy import WSDL from SOAPpy.Errors import HTTPError as SoapHTTPError from SOAPpy.Types import faultType import hashlib from array import array class KASSystem: def __init__(self): WSDL_AUTH = 'https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl' WSDL_API = 'https://kasapi.kasserver.com/soap/wsdl/KasApi.wsdl' userpass = ['mylogin','mypassword'] m = hashlib.sha1() m.update(userpass[1]) userpass[1] = m.hexdigest() loginData = {'user':userpass[0],'pass':userpass[1]} self.__SoapClient = WSDL.Proxy(WSDL_AUTH) try: self.__CredentialToken = self.__SoapClient.KasAuth('authAnfrage',{ 'KasUser':loginData['user'], 'KasAuthType':'sha1', 'KasPassword':loginData['pass'], 'SessionLifeTime':1800, 'SessionUpdateLifeTime':'Y'}) except (SoapHTTPError), e: print "Fehlermeldung:", e.code,e.msg KasObj = KASSystem() Für jede Hilf bin ich Dankbar! Tamer
Keine Hilfe, aber eine allgemeine Bemerkung: ich habe generell mit suds (https://fedorahosted.org/suds/) bessere Erfahrungen gemacht, als mit anderen Python SOAP client libraries. Sofern man mit SOAP überhaupt gute Erfahrungen machen kann ;) Chris
Hi Christian, Ich habe die gleiche Fehlermeldung mit SUDS. Ich glaube ich baue irgwendwie MIST. Der SOAP Server will ein Array (mit key und value) Wenn ich ein dict übergebe, erhalte ich diese Fehlermeldung: faultstring = "Cannot use object of type stdClass as array" mit dem gleichen Key und Value, der von mir abverlangt wird.... Irgendeine Idee ?! Tamer Am 23.03.2013 11:43, schrieb Christopher Arndt:
Keine Hilfe, aber eine allgemeine Bemerkung: ich habe generell mit suds (https://fedorahosted.org/suds/) bessere Erfahrungen gemacht, als mit anderen Python SOAP client libraries.
Sofern man mit SOAP überhaupt gute Erfahrungen machen kann ;)
Chris
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
Hallo Christopher, Ich habe die Geschichte mal schnell in "suds umgeschriben, und der gleiche Quatsch kommt raus. Vielleicht, mache ich ja was falsch ????? Laut Anbieter muss ein "Array" übergeben werden, was für mich nach meiner Logik ein Dict ist, oder?! Hier der Quelltext: import hashlib from suds.client import Client from suds import WebFault class KASSystem: def __init__(self): WSDL_AUTH = 'https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl' WSDL_API = 'https://kasapi.kasserver.com/soap/wsdl/KasApi.wsdl' m = hashlib.sha1() m.update('password') SoapClient = Client(WSDL_AUTH) print SoapClient try: SoapClient.service.KasAuth({ 'KasUser':'login', 'KasAuthType':'sha1', 'KasPassword':m.hexdigest(), 'SessionLifeTime':1800, 'SessionUpdateLifeTime':'Y'}) except WebFault, e: print e.fault KasObj = KASSystem() und hier die error: suds.WebFault: Server raised fault: 'Cannot use object of type stdClass as array' File "/storage/PyProjects/toolsAPP/python/KASUpdate2.py", line 23, in <module> KasObj = KASSystem() File "/storage/PyProjects/toolsAPP/python/KASUpdate2.py", line 20, in __init__ 'SessionUpdateLifeTime':'Y'}) File "/storage/PyENV/lin/toolsENV/lib/python2.7/site-packages/suds-0.4-py2.7.egg/suds/client.py", line 542, in __call__ File "/storage/PyENV/lin/toolsENV/lib/python2.7/site-packages/suds-0.4-py2.7.egg/suds/client.py", line 602, in invoke File "/storage/PyENV/lin/toolsENV/lib/python2.7/site-packages/suds-0.4-py2.7.egg/suds/client.py", line 649, in send File "/storage/PyENV/lin/toolsENV/lib/python2.7/site-packages/suds-0.4-py2.7.egg/suds/client.py", line 702, in failed File "/storage/PyENV/lin/toolsENV/lib/python2.7/site-packages/suds-0.4-py2.7.egg/suds/bindings/binding.py", line 265, in get_fault ich werde doof...... Am 23.03.2013 11:43, schrieb Christopher Arndt:
Keine Hilfe, aber eine allgemeine Bemerkung: ich habe generell mit suds (https://fedorahosted.org/suds/) bessere Erfahrungen gemacht, als mit anderen Python SOAP client libraries.
Sofern man mit SOAP überhaupt gute Erfahrungen machen kann ;)
Chris
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
On 23.03.2013 20:40, Tamer Higazi wrote:
Laut Anbieter muss ein "Array" übergeben werden, was für mich nach meiner Logik ein Dict ist, oder?!
Ich würde eher auf eine Liste tippen. Ich habe mich aber jetzt nicht durch die WSDL gekämpft. Ich bleibe solchem aufgeblasenen Zeug, wenn möglich, fern. Chris
Ich habe keine Lust mehr gehabt mich jetzt auf Fehlersuche zu begeben.... Ich habe das kleine Tool in PHP5 geschrieben, statt jetzt ewig auf die Suche zu gehen, und zu verzweifeln. Wie sagt man doch, aufgeschoben ist nicht aufgehoben. Wer aufmerksam bleibt, wird irgendwann aus Zufall drauf stoßen..... Wer sich verrückt macht, wird vieles übersehen und nicht drauf kommen.... Am 23.03.2013 20:53, schrieb Christopher Arndt:
On 23.03.2013 20:40, Tamer Higazi wrote:
Laut Anbieter muss ein "Array" übergeben werden, was für mich nach meiner Logik ein Dict ist, oder?!
Ich würde eher auf eine Liste tippen. Ich habe mich aber jetzt nicht durch die WSDL gekämpft. Ich bleibe solchem aufgeblasenen Zeug, wenn möglich, fern.
Chris
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
participants (2)
-
Christopher Arndt
-
Tamer Higazi