07-03-2018 11:38 AM - edited 03-19-2019 01:27 PM
Hello all,
I'm struggling with getting for example line info via getLine using pattern instead of uuid. According to getLine schema for CUCM 11.5 it should be possible to choose either uuid or pattern as lookup criteria. The python (2.7) module that I'm using is suds-jurko 0.6.
Base code is as follows:
from suds.client import Client import ssl wsdl = 'file:///C:/Users/xyz/Documents/axlplugin/schema/current/AXLAPI.wsdl' location = 'https://10.10.20.1/axl/' username = '***' password = '***' ssl._create_default_https_context = ssl._create_unverified_context client = Client(wsdl, location=location, username=username, password=password)
First of all, the proof that the pattern I want to use as a lookup string for getLine actually exists:
>>> line2 = client.service.listLine({'pattern': '1018'}, returnedTags={'description': ''}) >>> line2 (reply){ return = (return){ line[] = (LLine){ _uuid = "{1EC56035-6B5D-283A-4DF0-EFEFA01FCEFF}" description = None }, } }
Then, I try getLine using uuid which works well:
>>> line5 = client.service.getLine('1EC56035-6B5D-283A-4DF0-EFEFA01FCEFF') >>> line5 (reply){ return = (return){ line = (RLine){ _uuid = "{1EC56035-6B5D-283A-4DF0-EFEFA01FCEFF}" pattern = "1018" description = None usage = "Device" routePartitionName = "" aarNeighborhoodName = "" ----Rest omitted for brevity---
Now, if I try to use pattern, not uuid, I have following error:
line6 = client.service.getLine({'pattern': '1018'}, {'routePartitionName': ''}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\site-packages\suds\client.py", line 521, in __call__ return client.invoke(args, kwargs) File "C:\Python27\lib\site-packages\suds\client.py", line 576, in invoke soapenv = binding.get_message(self.method, args, kwargs) File "C:\Python27\lib\site-packages\suds\bindings\binding.py", line 109, in get_message content = self.bodycontent(method, args, kwargs) File "C:\Python27\lib\site-packages\suds\bindings\document.py", line 95, in bodycontent add_param, self.options().extraArgumentErrors) File "C:\Python27\lib\site-packages\suds\argparser.py", line 83, in parse_args return arg_parser(args, kwargs, extra_parameter_errors) File "C:\Python27\lib\site-packages\suds\argparser.py", line 108, in __call__ self.__process_parameters() File "C:\Python27\lib\site-packages\suds\argparser.py", line 299, in __process_parameters self.__process_parameter(*pdef) File "C:\Python27\lib\site-packages\suds\argparser.py", line 294, in __process_parameter self.__in_choice_context(), value) File "C:\Python27\lib\site-packages\suds\bindings\document.py", line 86, in add_param p = self.mkparam(method, pdef, value) File "C:\Python27\lib\site-packages\suds\bindings\document.py", line 130, in mkparam return Binding.mkparam(self, method, pdef, object) File "C:\Python27\lib\site-packages\suds\bindings\binding.py", line 225, in mkparam return marshaller.process(content) File "C:\Python27\lib\site-packages\suds\mx\core.py", line 59, in process self.append(document, content) File "C:\Python27\lib\site-packages\suds\mx\core.py", line 72, in append self.appender.append(parent, content) File "C:\Python27\lib\site-packages\suds\mx\appender.py", line 88, in append appender.append(parent, content) File "C:\Python27\lib\site-packages\suds\mx\appender.py", line 229, in append Appender.append(self, child, cont) File "C:\Python27\lib\site-packages\suds\mx\appender.py", line 168, in append self.marshaller.append(parent, content) File "C:\Python27\lib\site-packages\suds\mx\core.py", line 71, in append if self.start(content): File "C:\Python27\lib\site-packages\suds\mx\literal.py", line 86, in start raise TypeNotFound(content.tag) suds.TypeNotFound: Type not found: 'pattern'
Trying different syntax also gives error:
line6 = client.service.getLine('1018') No handlers could be found for logger "suds.client" Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\site-packages\suds\client.py", line 521, in __call__ return client.invoke(args, kwargs) File "C:\Python27\lib\site-packages\suds\client.py", line 581, in invoke result = self.send(soapenv) File "C:\Python27\lib\site-packages\suds\client.py", line 619, in send description=tostr(e), original_soapenv=original_soapenv) File "C:\Python27\lib\site-packages\suds\client.py", line 670, in process_reply raise WebFault(fault, replyroot) suds.WebFault: Server raised fault: 'Item not valid: The specified Line was not found'
Am I using incorrect syntax or it's actually not possible to use pattern however schema file states differently? Additionally, I'm wondering how to extract only uuid value from for example listLine method, is it possible via python axl? Any help will be really appreciated as I'm pretty much a newbie in those topics :) cheers!
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide