Administration XML Developer Forums

« Back to Administration XML Questions

No method found - listCallManager

Combination View Flat View Tree View
Threads [ Previous | Next ]
No method found - listCallManager
soap interface specs cucm perl axl soap perl fault data
Answer
11/10/11 10:44 PM
Hello,
 
I'm trying to use the listCallManager operation and I'm receiving an error that the method is not found.  The CUCM is 8.5.(1) and my messages are being sent via Perl/SOAP::Lite.  Here is the code I'm using:
 
my $cm = new SOAP::Lite
    encodingStyle => '',
    uri => "$axltoolkit",
    proxy => "https://$cucmip:$axl_port/axl/" ;

my $res =$cm->listCallManager('searchCriteria'=> \SOAP:emoticonata->value(
                                     SOAP:emoticonata->name('name' => "%")));
 
unless ($res->fault) {
    $Data:emoticonumper::Incident=3;
    print Dumper($res->paramsall());
 
The error I receive is:  SOAP-ENV:Client, No method found for processing request
 
Anyone have an idea of why the listCallManager method isn't found?  I've referenced the AXL interface specs for 8.5(1) and have included the 'name' for 'searchCriteria' which it flags as mandatory (1 of the searchCriteria items).  Any help is appreciated.
 
Thanks,
 
Marty

you need to include the returnedTags element as well I believe

Thanks Sascha. I've added the returnedTags element as well but still no luck. If I use the "listCallManager" element I receive a "No method found for processing request" and if I use the "ListCallManagerReq" I get a "No Handler found for ListCallManagerReq". I'm new to using the AXL interface so I might be missing something basic but I haven't worked it out so far. I'm using many of the add and get elements without issues. Is the structure of the list elements different than the add and get that you know of?

Thanks again,

Marty

Hi,

I'm sending this XML and it works. The 8.5 API is more picky about the namespace for the methods than previous versions, so the "xmlns="http://www.cisco.com/AXL/API/8.5" needs to be included. I do think that you would receive a different error if if was missing though.

<pre>
POST https://172.28.0.4:8443/axl/ HTTP/1.1
SOAPAction: "CUCMemoticonB ver=8.5"
Content-Type: text/xml; charset="utf-8"
User-Agent: CodeGear SOAP 1.3
Host: 172.28.0.4:8443
Content-Length: 424
Connection: Keep-Alive
Cache-Control: no-cache
Authorization: Basic <removed>

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<listCallManager xmlns="http://www.cisco.com/AXL/API/8.5">
<searchCriteria xmlns="">
<name>%</name>
</searchCriteria>
<returnedTags xmlns="" xsi:nil="true"/>
</listCallManager>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope></pre>

Response:
<pre>
HTTP/1.1 200 OK
Set-Cookie: JSESSIONIDSSO=F9CB9A71B8A41465F155021F378DFC20; Path=/; Secure
Set-Cookie: JSESSIONID=3E742CC8A1D0D00EC7229DCD82702489; Path=/axl; Secure
Content-Type: text/xml;charset=UTF-8
Content-Length: 340
Date: Tue, 29 Nov 2011 21:16:58 GMT
Server:

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:listCallManagerResponse xmlns:ns="http://www.cisco.com/AXL/API/8.5">
<return>
<callManager uuid="{44FC4D6A-7D1A-4D4E-8617-FAB3491C935E}"/>
</return>
</ns:listCallManagerResponse>
</soapenv:Body>
</soapenv:Envelope></pre>

It seems the returnedTags makes is possible to get more information in the response. When I send the xml below I get the name and description for the CUCM process as well:

<pre>
POST https://172.28.0.4:8443/axl/ HTTP/1.1
SOAPAction: "CUCMemoticonB ver=8.5"
Content-Type: text/xml; charset="utf-8"
User-Agent: CodeGear SOAP 1.3
Host: 172.28.0.4:8443
Content-Length: 463
Connection: Keep-Alive
Cache-Control: no-cache
Authorization: Basic <removed>

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<listCallManager xmlns="http://www.cisco.com/AXL/API/8.5">
<searchCriteria xmlns="">
<name>%</name>
</searchCriteria>
<returnedTags xmlns="">
<name></name>
<description></description>
</returnedTags>
</listCallManager>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</pre>

Response:
<pre>
HTTP/1.1 200 OK
Set-Cookie: JSESSIONIDSSO=FF969386FA7281DD26D3A5E03C0868F5; Path=/; Secure
Set-Cookie: JSESSIONID=D170EEB9B0981EB2451EDBD19AF6C6DE; Path=/axl; Secure
Content-Type: text/xml;charset=UTF-8
Content-Length: 424
Date: Tue, 29 Nov 2011 21:25:55 GMT
Server:

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:listCallManagerResponse xmlns:ns="http://www.cisco.com/AXL/API/8.5">
<return>
<callManager uuid="{44FC4D6A-7D1A-4D4E-8617-FAB3491C935E}">
<name>CM_cucm1</name>
<description>System,CUCM Description</description>
</callManager>
</return>
</ns:listCallManagerResponse>
</soapenv:Body>
</soapenv:Envelope>
</pre>

Hope this helps!

Kind regards,

//Dan

Hey Dan,

I'm getting closer to sending the "list" method successfully. Thanks to your help on the DB version from a different post, I'm calling the right method but receive "Usage: Required returnedTags as empty tag or should contain requested tags". Here is my message:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<listPhone xmlns="http://www.cisco.com/AXL/API/8.5">
<searchCriteria xmlns="">
<name xsi:type="xsd:string">%</name>
</searchCriteria>
<returnedTags>
<name xsi:type="xsd:string"> </name>
</returnedTags>
</listPhone>
</soap:Body>
</soap:Envelope>

I'm placing a blank space in the returnedTags "name" element since leaving it empty in the script gives me:

<name xsi:type="xsd:string" />

which doesn't match up with yours above. The script looks like this:

my $cm = SOAP::Lite
-> encodingStyle('')
-> on_action(sub { return "CUCMemoticonB ver=$ver" })
-> proxy("https://$cucmip:$axl_port/axl/")
-> uri("http://www.cisco.com/AXL/API/$ver");

my $res = $cm->listPhone(SOAP:emoticonata->attr({xmlns => ''})->name("searchCriteria" => \SOAP:emoticonata->value(
SOAP:emoticonata->name("name" => "%"))),
SOAP:emoticonata->name("returnedTags" => \SOAP:emoticonata->value(
SOAP:emoticonata->name("name" => ' '))));

Any suggestions on this one?

Thanks for the help.

Marty

The following request works on my 8.5(1) lab system:
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:listPhone sequence="1">
         <searchCriteria>
            <name>SEP%</name>
         </searchCriteria>
         <returnedTags>
            <name/>
         </returnedTags>
      </ns:listPhone>
   </soapenv:Body>
</soapenv:Envelope>
 
--------------------
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns:listPhoneResponse xmlns:ns="http://www.cisco.com/AXL/API/8.5">
         <return>
            <phone uuid="{2447BC39-9FCD-42B9-A930-DA99AC32F6B6}">
               <name>SEP00059A3C7800</name>
            </phone>
            <phone uuid="{F37376DB-B2AA-4756-9C81-0749E37E124B}">
               <name>SEP0022BDD68793</name>
            </phone>
...
            <phone uuid="{7067A1CF-3A30-4FA4-B668-024AC2E2FA34}">
               <name>SEPF0DEF14E4BEE</name>
            </phone>
         </return>
      </ns:listPhoneResponse>
   </soapenv:Body>
</soapenv:Envelope>