AXL listLine function on CUCM 8.6.1. No method found.

Version 1
    This document was generated from CDN thread

    Created by: Daniel Appleby on 15-11-2012 08:09:25 PM
    Hi All,
    I am trying to use the listLine function in CUCM 8.6.1 AXL Api. I am using the following XML and submitting via Perl:
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">
    <soapenv:Body>
        <listLine>
                            <searchCriteria>
                                    <pattern>%</pattern>
                            </searchCriteria>
                                    <returnedTags>
                                            <description></description>
                                    </returnedTags>
        </listLine>
    </soapenv:Body>
    </soapenv:Envelope>

    The response i get back from CUCM is:
     
     'axl:Error' => {
                                                                   'request' => 'listLine',
                                                                   'axl:code' => '5003',
                                                                   'axl:message' => 'No method found for processing request',
                                                                   'xmlns:axl' => 'http://www.cisco.com/AXL/API/1.0'
                                                                 }
    Looking at the documentation 8.6 does appear to support listLine. Is there something wrong with the XML i am using? I have already done some searching and tried a number of different XML requests but all give back the same result. The CUCM environment was previously at 7.1 but has since been upgraded. Could something have been missed in the upgrade?
    Thanks in Advance.
    Daniel
     

    Subject: Automatic reply: New Message from Daniel Appleby in Administration XML (AXL
    Replied by: Michael Dunsdon on 15-11-2012 08:10:48 PM
    I am out of the office on the 16th November and will reply to your email my return.

    For any urgent requests, please contact Peter Hall (peter@atomwide.com) or telephone 01689 814700

    Thank you

    Tel 01689 814700   Fax 01689 814778
    https://support.atomwide.com/

    Company Reg number: 2142875

    Unit 2-3, Ravensquay Business Centre,
    Cray Avenue,
    Orpington, Kent, BR5 4BQ

    Subject: Automatic reply: New Message from Daniel Appleby in Administration XML (AXL
    Replied by: Matt Bolton on 15-11-2012 08:11:48 PM
    I will be out of the office and have very limited access to email / phone from Nov 15 - Nov 18. I will respond to you upon my return but if you need immediate assistance, contact Udaya Padmanabhuni: Udaya.Padmanabhuni@Quest.com

    Regards,
    Matt

    Matt Bolton
    Dell | Network Management, Quest Software
    office +1 415 293 6514, mobile +1 45 519 4011

    Quest Software is now a part of Dell

    Subject: Re: New Message from Daniel Appleby in Administration XML (AXL) - Administr
    Replied by: Sascha Monteiro on 15-11-2012 08:23:48 PM
    Hi,

    You probably don't set the HTTP header with the dbversion, as the response
    has a 1.0 namespace

    Subject: RE: AXL listLine function on CUCM 8.6.1. No method found.
    Replied by: Daniel Appleby on 15-11-2012 09:09:23 PM
    Ah that did the trick. Added CUCMB ver=8.5 to the headers and now I get:
     

    <HTML>
    <HEAD><TITLE>An Error Occurred</TITLE></HEAD>
    <BODY>
    <H1>An Error Occurred</H1>
    500 Internal Server Error
    </BODY>
    </HTML>

    Subject: RE: AXL listLine function on CUCM 8.6.1. No method found.
    Replied by: Daniel Appleby on 15-11-2012 11:15:56 PM
     
    Well it turns out you need to set xmlns to nothing within the xml..
     
    Below is my code which works for listline.
     
    #!/usr/bin/perl
     use warnings;
     use strict;
     use SOAP::Lite;
     use Data:umper;
     
     $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
     
    my $debug = 1;
    my $cucmip = "cucmip";
    my $axl_port = "8443";
    my $user = "username";
    my $password = "password";
    my $ver = "8.5";
    my $axltoolkit = "http://www.cisco.com/AXL/API/$ver";
     
    use SOAP::Lite +trace => 'debug';
     
    BEGIN {
      sub SOAP::Transport::HTTP::Client::get_basic_credentials {
      return ($user => $password)
      };
    }
    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")
    -> autotype(0);
     
    my $res = $cm->listLine(SOAP:ata->attr({xmlns => ''})->name("searchCriteria" => \SOAP:ata->attr({xmlns => ''})->value(
    SOAP:ata->attr({xmlns => ''})->name("pattern" => "%"))),
    SOAP:ata->attr({xmlns => ''})->name("returnedTags" 
    => \SOAP:ata->attr({xmlns => ''})->value(SOAP:ata->attr({xmlns => ''})->name("voiceMailProfileName" => ''), SOAP:ata->attr({xmlns => ''})->name("pattern" => ''))
    ));
     
    unless ($res->fault) {
      $Data:umper::Indent = 3;
      print "\n\n";
      print Dumper($res->paramsall()) if ( $debug==1);
    }else{
       print Dumper($res->faultstring);
    }