<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Error while invoking selectCmDeviceExt API in Management</title>
    <link>https://community.cisco.com/t5/management/error-while-invoking-selectcmdeviceext-api/m-p/3606201#M2874</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am running into below issue while invoking "selectCmDeviceExt" API. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The idea is to fetch phone details whose model number is 688 (i.e. SX-80 devices)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;code snippet : &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_CMSERVER='X.X.X.X' #PUB IP of SIN CUCM cluster&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_axl_port='8443'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_user='appadmin'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_passwd='XXXXXXX'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;SRV_wsdl='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70?wsdl" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70?wsdl&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;SRV_location='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t = HttpAuthenticated(username='dilipreddy.guda', password='XXXXXXXX')&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t.handler=urllib.request.HTTPBasicAuthHandler(t.pm)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;ssl_def_context = ssl.create_default_context()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;ssl_def_context.check_hostname = False&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;ssl_def_context.verify_mode = ssl.CERT_NONE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t1=urllib.request.HTTPSHandler(context=ssl_def_context)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t.urlopener = urllib.request.build_opener(t.handler,t1)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;tns = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.cisco.com/ast/soap/" rel="nofollow" target="_blank"&gt;http://schemas.cisco.com/ast/soap/&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;imp = Import('&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/encoding/" rel="nofollow" target="_blank"&gt;http://schemas.xmlsoap.org/soap/encoding/&lt;/A&gt;&lt;SPAN&gt;', '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/encoding/" rel="nofollow" target="_blank"&gt;http://schemas.xmlsoap.org/soap/encoding/&lt;/A&gt;&lt;SPAN&gt;')&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;imp.filter.add(tns)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;client=Client(SRV_wsdl,location=SRV_location,plugins=[ImportDoctor(imp)],transport=t)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;result = client.service.selectCmDeviceExt('',{'SelectBy':'Name', 'Status':'Any', 'Class':'Phone', 'Model':'688', 'MaxReturnedDevices' : '1000'})&amp;nbsp;&amp;nbsp; -- &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;This is where error is observed.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Error snippet : &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Traceback (most recent call last):&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "CUCM_AXL_TP_endpoints.py", line 60, in &amp;lt;module&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = client.service.selectCmDeviceExt('',{'SelectBy':'Name', 'Status':'A&lt;/P&gt;&lt;P&gt;ny', 'Class':'Trunk', 'Model':'688', 'MaxReturnedDevices' : '1000'}) # SX-80&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\client.py", line 521, in __call__&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return client.invoke(args, kwargs)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\client.py", line 576, in invoke&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; soapenv = binding.get_message(self.method, args, kwargs)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\binding.py", line 109, in get_message&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; content = self.bodycontent(method, args, kwargs)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\document.py", line 95, in bodycontent&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; add_param, self.options().extraArgumentErrors)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 83, in parse_args&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return arg_parser(args, kwargs, extra_parameter_errors)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 108, in __call__&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__process_parameters()&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 299, in __process_parameters&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__process_parameter(*pdef)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 294, in __process_parameter&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__in_choice_context(), value)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\document.py", line 86, in add_param&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; p = self.mkparam(method, pdef, value)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\document.py", line 130, in mkparam&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Binding.mkparam(self, method, pdef, object)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\binding.py", line 225, in mkparam&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return marshaller.process(content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\core.py", line 59, in process&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.append(document, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\core.py", line 72, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.appender.append(parent, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\appender.py", line 88, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appender.append(parent, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\appender.py", line 229, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Appender.append(self, child, cont)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\appender.py", line 168, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.marshaller.append(parent, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\core.py", line 71, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if self.start(content):&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\literal.py", line 86, in start&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise TypeNotFound(content.tag)&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;suds.TypeNotFound: Type not found: 'Class'&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If I use "&lt;STRONG&gt;selectCmDevice" API&amp;nbsp; with below WSDL then the API works fine. But the problem here is there is no "&lt;STRONG&gt;selectCmDeviceExt" API in this wsdl . Want to use "&lt;STRONG&gt;selectCmDeviceExt" API as this &lt;SPAN style="color: #333333; font-family: CiscoSansRegular, sans-serif; font-size: 13px;"&gt; This request consolidates device records across nodes, returning only the device info for the latest registration.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SRV_wsdl='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort?wsdl" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort?wsdl&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SRV_location='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;result = client.service.SelectCmDevice('',{'SelectBy':'Name', 'Status':'Any', 'Class':'Phone', 'Model':'688', 'MaxReturnedDevices' : '1000'}) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would appreciate your help to resolve this issue. Let me know if any further details are required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Python environment details :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pyhton -- 3.6.3 version&lt;/P&gt;&lt;P&gt;requests==2.18.4&lt;/P&gt;&lt;P&gt;scp==0.10.2&lt;/P&gt;&lt;P&gt;six==1.11.0&lt;/P&gt;&lt;P&gt;suds==0.4&lt;/P&gt;&lt;P&gt;suds-jurko==0.6&lt;/P&gt;&lt;P&gt;textfsm==0.3.2&lt;/P&gt;&lt;P&gt;urllib3==1.22&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 20 Feb 2018 13:11:02 GMT</pubDate>
    <dc:creator>dilipreddy.guda</dc:creator>
    <dc:date>2018-02-20T13:11:02Z</dc:date>
    <item>
      <title>Error while invoking selectCmDeviceExt API</title>
      <link>https://community.cisco.com/t5/management/error-while-invoking-selectcmdeviceext-api/m-p/3606201#M2874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am running into below issue while invoking "selectCmDeviceExt" API. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The idea is to fetch phone details whose model number is 688 (i.e. SX-80 devices)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;code snippet : &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_CMSERVER='X.X.X.X' #PUB IP of SIN CUCM cluster&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_axl_port='8443'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_user='appadmin'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;SRV_passwd='XXXXXXX'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;SRV_wsdl='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70?wsdl" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70?wsdl&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;SRV_location='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice2/services/RISService70&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t = HttpAuthenticated(username='dilipreddy.guda', password='XXXXXXXX')&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t.handler=urllib.request.HTTPBasicAuthHandler(t.pm)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;ssl_def_context = ssl.create_default_context()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;ssl_def_context.check_hostname = False&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;ssl_def_context.verify_mode = ssl.CERT_NONE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t1=urllib.request.HTTPSHandler(context=ssl_def_context)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;t.urlopener = urllib.request.build_opener(t.handler,t1)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;tns = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.cisco.com/ast/soap/" rel="nofollow" target="_blank"&gt;http://schemas.cisco.com/ast/soap/&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;SPAN&gt;imp = Import('&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/encoding/" rel="nofollow" target="_blank"&gt;http://schemas.xmlsoap.org/soap/encoding/&lt;/A&gt;&lt;SPAN&gt;', '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/encoding/" rel="nofollow" target="_blank"&gt;http://schemas.xmlsoap.org/soap/encoding/&lt;/A&gt;&lt;SPAN&gt;')&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;imp.filter.add(tns)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;client=Client(SRV_wsdl,location=SRV_location,plugins=[ImportDoctor(imp)],transport=t)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;result = client.service.selectCmDeviceExt('',{'SelectBy':'Name', 'Status':'Any', 'Class':'Phone', 'Model':'688', 'MaxReturnedDevices' : '1000'})&amp;nbsp;&amp;nbsp; -- &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;This is where error is observed.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Error snippet : &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Traceback (most recent call last):&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "CUCM_AXL_TP_endpoints.py", line 60, in &amp;lt;module&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = client.service.selectCmDeviceExt('',{'SelectBy':'Name', 'Status':'A&lt;/P&gt;&lt;P&gt;ny', 'Class':'Trunk', 'Model':'688', 'MaxReturnedDevices' : '1000'}) # SX-80&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\client.py", line 521, in __call__&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return client.invoke(args, kwargs)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\client.py", line 576, in invoke&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; soapenv = binding.get_message(self.method, args, kwargs)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\binding.py", line 109, in get_message&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; content = self.bodycontent(method, args, kwargs)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\document.py", line 95, in bodycontent&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; add_param, self.options().extraArgumentErrors)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 83, in parse_args&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return arg_parser(args, kwargs, extra_parameter_errors)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 108, in __call__&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__process_parameters()&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 299, in __process_parameters&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__process_parameter(*pdef)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\argparser.py", line 294, in __process_parameter&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.__in_choice_context(), value)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\document.py", line 86, in add_param&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; p = self.mkparam(method, pdef, value)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\document.py", line 130, in mkparam&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Binding.mkparam(self, method, pdef, object)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\bindings\binding.py", line 225, in mkparam&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return marshaller.process(content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\core.py", line 59, in process&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.append(document, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\core.py", line 72, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.appender.append(parent, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\appender.py", line 88, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appender.append(parent, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\appender.py", line 229, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Appender.append(self, child, cont)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\appender.py", line 168, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.marshaller.append(parent, content)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\core.py", line 71, in append&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if self.start(content):&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Users\dilipreddy.guda\AppData\Local\Programs\Python\Python36\lib\site&lt;SPAN style="font-size: 10pt;"&gt;-packages\suds\mx\literal.py", line 86, in start&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise TypeNotFound(content.tag)&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;suds.TypeNotFound: Type not found: 'Class'&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If I use "&lt;STRONG&gt;selectCmDevice" API&amp;nbsp; with below WSDL then the API works fine. But the problem here is there is no "&lt;STRONG&gt;selectCmDeviceExt" API in this wsdl . Want to use "&lt;STRONG&gt;selectCmDeviceExt" API as this &lt;SPAN style="color: #333333; font-family: CiscoSansRegular, sans-serif; font-size: 13px;"&gt; This request consolidates device records across nodes, returning only the device info for the latest registration.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SRV_wsdl='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort?wsdl" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort?wsdl&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SRV_location='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort" rel="nofollow" target="_blank"&gt;https://'+SRV_CMSERVER+':'+SRV_axl_port+'/realtimeservice/services/RisPort&lt;/A&gt;&lt;SPAN&gt;'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;result = client.service.SelectCmDevice('',{'SelectBy':'Name', 'Status':'Any', 'Class':'Phone', 'Model':'688', 'MaxReturnedDevices' : '1000'}) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would appreciate your help to resolve this issue. Let me know if any further details are required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Python environment details :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pyhton -- 3.6.3 version&lt;/P&gt;&lt;P&gt;requests==2.18.4&lt;/P&gt;&lt;P&gt;scp==0.10.2&lt;/P&gt;&lt;P&gt;six==1.11.0&lt;/P&gt;&lt;P&gt;suds==0.4&lt;/P&gt;&lt;P&gt;suds-jurko==0.6&lt;/P&gt;&lt;P&gt;textfsm==0.3.2&lt;/P&gt;&lt;P&gt;urllib3==1.22&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Feb 2018 13:11:02 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/error-while-invoking-selectcmdeviceext-api/m-p/3606201#M2874</guid>
      <dc:creator>dilipreddy.guda</dc:creator>
      <dc:date>2018-02-20T13:11:02Z</dc:date>
    </item>
    <item>
      <title>Re: Error while invoking selectCmDeviceExt API</title>
      <link>https://community.cisco.com/t5/management/error-while-invoking-selectcmdeviceext-api/m-p/3606202#M2875</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like I was able to get it working with this code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_151914278124461" jivemacro_uid="_151914278124461"&gt;
&lt;P&gt;# Installing a root/CA Certificate&lt;/P&gt;
&lt;P&gt;# (Tested on Ubuntu 16.10, 17.10)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;# Retrieve certificate from CUCM&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - openssl s_client -showcerts -connect cucm-node.example.com:443 &amp;lt;/dev/null 2&amp;gt;/dev/null|openssl x509 &amp;gt;cucm-node.example.com.crt&lt;/P&gt;
&lt;P&gt;# Store certificate on the client&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - Create a directory for extra CA certificates in /usr/share/ca-certificates:&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo mkdir /usr/share/ca-certificates/extra&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - Copy the CA .crt file to this directory:&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; - Append the certificate path (relative to /usr/share/ca-certificates) to /etc/ca-certificates.conf&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo dpkg-reconfigure ca-certificates&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;# In case of a .pem file, it must first be converted to a .crt file:&lt;/P&gt;
&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp; openssl x509 -in foo.pem -inform PEM -out foo.crt&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;from suds.client import Client&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;# import logging&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;# logging.basicConfig(level=logging.INFO)&lt;/P&gt;
&lt;P&gt;# logging.getLogger("suds.transport").setLevel(logging.DEBUG)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;client = Client("file:////home/dstaudt/Documents/Serviceability/v10.5(1)/RISService70.wsdl",&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; location="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://ds-ucm105.cisco.com:8443/realtimeservice2/services/RISService70" rel="nofollow" target="_blank"&gt;https://ds-ucm105.cisco.com:8443/realtimeservice2/services/RISService70&lt;/A&gt;&lt;SPAN&gt;",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; username="Administrator",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; password="ciscopsdt")&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;CmSelectionCriteria = {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "MaxReturnedDevices": "1000",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "DeviceClass": "Phone",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Model": 30016,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Status": "Any",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "NodeName": "",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "SelectBy": "Name",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "SelectItems": {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "item": {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Item": "*"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Protocol": "Any",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "DownloadStatus": "Any"&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;result = client.service.selectCmDevice("",CmSelectionCriteria)&lt;/P&gt;
&lt;P&gt;print(result)&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note, I found this little sample, which helps you inspect the object schema created when the WSDL is imported by suds-jurko:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="python" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_15191428833897548" jivemacro_uid="_15191428833897548" modifiedtitle="true"&gt;
&lt;P&gt;import sys, getopt&lt;/P&gt;
&lt;P&gt;from suds.client import Client&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;def getAvailableMethods(client):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; methods = [method for method in client.wsdl.services[0].ports[0].methods]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return methods&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;def printAvailableMethods(method_names):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("These are all the methods available: ")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for method_name in method_names:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; param_names = getMethodParams(method_name)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.stdout.write(" * " + method_name + ": ")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for param_name in param_names:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.stdout.write(param_name + " ")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.stdout.write("\n")&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;def callSampleMethods(method_names):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print("Calling all methods that don't need any parameters.")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for method_name in method_names:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if len(getMethodParams(method_name)) == 0:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(" * " + method_name)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = getattr(client.service, method_name)()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(result)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;def getMethodParams(method_name):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; method = client.wsdl.services[0].ports[0].methods[method_name]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; params = method.binding.input.param_defs(method)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; param_names = []&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for param in params:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; param_names.append(param[0])&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return param_names&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;if __name__ == "__main__":&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Start a client and point to the WSDL URL&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = Client("file:////home/dstaudt/Documents/Serviceability/v10.5(1)/RISService70.wsdl",&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://ds-ucm105.cisco.com:8443/realtimeservice2/services/RISService70" rel="nofollow" target="_blank"&gt;https://ds-ucm105.cisco.com:8443/realtimeservice2/services/RISService70&lt;/A&gt;&lt;SPAN&gt;",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; username="Administrator",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password="ciscopsdt")&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(client)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get some info from available funtionality&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; availableMethods = getAvailableMethods(client)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printAvailableMethods(availableMethods)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # callSampleMethods(availableMethods)&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on the work found here: &lt;A href="https://github.com/raquel-ucl/suds-jurko/blob/master/client.py" title="https://github.com/raquel-ucl/suds-jurko/blob/master/client.py"&gt;suds-jurko/client.py at master · raquel-ucl/suds-jurko · GitHub&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Feb 2018 16:08:46 GMT</pubDate>
      <guid>https://community.cisco.com/t5/management/error-while-invoking-selectcmdeviceext-api/m-p/3606202#M2875</guid>
      <dc:creator>dstaudt</dc:creator>
      <dc:date>2018-02-20T16:08:46Z</dc:date>
    </item>
  </channel>
</rss>

