No method found - listCallManager

Version 1
    This document was generated from CDN thread

    Created by: Martin Sloan on 10-11-2011 04:44:07 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:ata->value(
                                         SOAP:ata->name('name' => "%")));
     
    unless ($res->fault) {
        $Data:umper::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

    Subject: Re: New Message from Martin Sloan in Administration XML (AXL) - Administrat
    Replied by: Sascha Monteiro on 10-11-2011 04:57:06 PM
    you need to include the returnedTags element as well I believe

    Subject: RE: No method found - listCallManager
    Replied by: Martin Sloan on 11-11-2011 02:19:49 PM
    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

    Subject: RE: No method found - listCallManager
    Replied by: Dan-Anders Hook on 29-11-2011 04:35:34 PM
    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: "CUCMB 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: "CUCMB 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

    Subject: RE: No method found - listCallManager
    Replied by: Martin Sloan on 09-01-2012 11:23:44 AM
    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 "CUCMB ver=$ver" })
        -> proxy("https://$cucmip:$axl_port/axl/")
        -> uri("http://www.cisco.com/AXL/API/$ver");

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

    Any suggestions on this one?

    Thanks for the help.

    Marty

    Subject: RE: No method found - listCallManager
    Replied by: David Staudt on 09-01-2012 04:09:49 PM
    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>