Hey guys!,
I have been hacking away at getting a SOAP request to work with the ExecuteCCMSQLStatement service call but continuously I am facing the following error:
Traceback (most recent call last):
File "get_phone_stats.py", line 95, in <module>
get_sql(data)
File "get_phone_stats.py", line 35, in get_sql
retval = client.service.ExecuteCCMSQLStatement("", {'Name':'Any'})
File "/usr/lib/python2.6/site-packages/suds/client.py", line 542, in __call__
return client.invoke(args, kwargs)
File "/usr/lib/python2.6/site-packages/suds/client.py", line 602, in invoke
result = self.send(soapenv)
File "/usr/lib/python2.6/site-packages/suds/client.py", line 649, in send
result = self.failed(binding, e)
File "/usr/lib/python2.6/site-packages/suds/client.py", line 702, in failed
r, p = binding.get_fault(reply)
File "/usr/lib/python2.6/site-packages/suds/bindings/binding.py", line 265, in get_fault
raise WebFault(p, faultroot)
suds.WebFault: Server raised fault: 'java.lang.ArrayStoreException'
Below is the code snippet I am currently using:
def get_sql(data):
"""
Connect to sql soap webservice
to get device pool per device
"""
for i in data:
uri = 'https://' + i[0] + ':8443/realtimeservice/services/RisPort?wsdl'
imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
doctor = ImportDoctor(imp)
client = Client(url=uri, transport=t, doctor=doctor)
retval = client.service.ExecuteCCMSQLStatement("", {'Name':'Any'})
print retval
And I've narrowed down the problem to:
retval = client.service.ExecuteCCMSQLStatement("", {'Name':'Any'})
Any help on how to pass arguments to ExecuteCCMSQLStatement would be appreciated:
Here is what the WSDL defines:
ExecuteCCMSQLStatement(xs:string ExecuteSQLInputData, ArrayOfGetColumns GetColumns, )
Thanks again!