Updating Display via AXL with SOAP:Lite and Perl

Version 1
    This document was generated from CDN thread

    Created by: albakom_support (simulated) on 10-03-2009 02:54:37 PM
    Hi, I have this little code in Perl to access a CUCM6.0
    It works fine, but the execution of the script doesn't update the display name at the phone.
     
    use SOAP::Lite;
    BEGIN {
    sub SOAP::Transport::HTTP::Client::get_basic_credentials {
        return 'user' => 'cisco';
      }
    }

    my $cm = new SOAP::Lite 
        uri => 'http://www.cisco.com/AXL/API/1.0',
        proxy => "https://<IP-CUCM>:8443/axl/" ;

    # a simple request to a phone, works fine
    my $res =
      $cm->getPhone(
           SOAPata->name(phoneName => 'SEP000000000179')
      );
    unless ($res->fault) {
        $Dataumper::Indent = 3;         # Pretty-Print
        print Dumper($res->paramsall());
        } 
     else {
            print join ', ',
            $res->faultcode,
            $res->faultstring;
    }
     
    # now I try to update the display at this phone(line 1)
    my $res3 =
      $cm->updatePhone(
             SOAPata->name('name' => 'SEP000000000179'),
             SOAPata->name('lines' => SOAPata->name('line' => SOAPata->name('index' => '1'),
                                                                     SOAPata->name('display' => 'AXLTESTSIPPHONE')
                                                          )
                              )                 
              );

    unless ($res3->fault) {
        }
     else {
            print join ', ',
            $res3->faultcode,
            $res3->faultstring;
    }
     
    No error messages appears, but the display is still the old again.
    Somebody can help?

    Subject: RE: Updating Display via AXL with SOAP:Lite and Perl
    Replied by: David Staudt on 10-03-2009 04:35:44 PM
    I believe this change will require a phone restart in order to be visible...have you tried that?  Note you can trigger this using AXL via <doDeviceReset>
     
    Otherwise, can you provide the actual XML of the Request/Response?  The AXL service logs (via RTMT) might also give some clues.

    Subject: RE: Updating Display via AXL with SOAP:Lite and Perl
    Replied by: Support Albakom on 11-03-2009 08:07:04 AM
    I believe this change will require a phone restart in order to be visible...have you tried that?  Note you can trigger this using AXL via <doDeviceReset>




    Yes I tried this, but I look at the callmanager pages after the executing axl, and nothing has changed. I forgot to say, that the phone is a third-party-sip phone.


    Otherwise, can you provide the actual XML of the Request/Response?  The AXL service logs (via RTMT) might also give some clues.



    I will try this.

    Subject: RE: Updating Display via AXL with SOAP:Lite and Perl
    Replied by: Support Albakom on 11-03-2009 08:36:15 AM
    here is the output of the axl trace:
     
    2009-03-11 09:28:00,518 DEBUG [http-8443-Processor23] axl.AXLRouter - addToCache("axltest")
    2009-03-11 09:28:00,519 INFO  [http-8443-Processor23] axl.AXLRouter - Received request 1231417943012 from axltest at IP 192.168.1.180
    2009-03-11 09:28:00,519 INFO  [http-8443-Processor23] axl.AXLRouter - <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><updatePhone xmlns="http://www.cisco.com/AXL/API/1.0"><name xsi:type="xsd:string">SEP000000000179</name><index xsi:type="xsd:int">0</index><displayASCII xsi:type="xsd:long">03817789630</displayASCII><display xsi:type="xsd:string">AXLTESTSIPPHONE</display></updatePhone></soap:Body></soap:Envelope>
    2009-03-11 09:28:00,520 DEBUG [http-8443-Processor23] axl.AXLRouter - Getting service parameters...
    2009-03-11 09:28:00,530 DEBUG [http-8443-Processor23] axl.AXLRouter - AXL_ENABLE_ENCODINGINFO: F; AXL_NAMESPACE: T
    2009-03-11 09:28:00,549 ERROR [http-8443-Processor23] axl.AXLRouter - com.cisco.ccm.axl.AXLRouter@1bae5f5
    java.sql.SQLException: Can't load driver java.lang.reflect.InvocationTargetException
        at com.informix.util.IfxErrMsg.getLocSQLException(IfxErrMsg.java:494)
        at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:271)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:193)
        at com.cisco.ccm.dbl.Connector.getConn(Connector.java:663)
        at com.cisco.ccm.dbl.Connector.connect(Connector.java:580)
        at com.cisco.ccm.dbl.Connector.connect(Connector.java:510)
        at com.cisco.ccm.dbl.Connector.createStatement(Connector.java:751)
        at com.cisco.ccm.dbl.Connector.createStatement(Connector.java:733)
        at com.cisco.ccm.axl.AXLThrottler.getNodeNames(AXLThrottler.java:223)
        at com.cisco.ccm.axl.AXLThrottler.getClusterInformation(AXLThrottler.java:89)
        at com.cisco.ccm.axl.AXLThrottler.getThrottlingCount(AXLThrottler.java:145)
        at com.cisco.ccm.axl.AXLRouter.checkThrottleStatus(AXLRouter.java:487)
        at com.cisco.ccm.axl.AXLRouter.doPost(AXLRouter.java:161)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at sun.reflect.GeneratedMethodAccessor198.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
        at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
        at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
        at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
        at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:392)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedConstructorAccessor74.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:254)
        ... 42 more
    Caused by: java.sql.SQLException: INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.
        at com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:971)
        ... 46 more
    Caused by: com.informix.asf.IfxASFRemoteException:
        at com.informix.asf.Connection.recvConnectionResponse(Connection.java:600)
        at com.informix.asf.Connection.establishConnection(Connection.java:1488)
        at com.informix.asf.Connection.<init>(Connection.java:261)
        at com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:906)
        ... 46 more
    2009-03-11 09:28:00,549 INFO  [http-8443-Processor23] axl6_0.Handler - Handler initializing
    2009-03-11 09:28:00,553 DEBUG [http-8443-Processor23] axl6_0.Handler - select pkid from device where my_lower(name ) =my_lower('SEP000000000179' )
    2009-03-11 09:28:00,555 DEBUG [http-8443-Processor23] axl6_0.DeviceHandler - select isdualmode,tkProduct,tkdeviceprotocol,tkclass from device where pkid='38d8857b-d40f-0345-3143-56de48fff448'
    2009-03-11 09:28:00,559 DEBUG [http-8443-Processor23] axl6_0.DeviceHandler - tkClass=1, tkProduct=235, isdualmode=f
    2009-03-11 09:28:00,560 DEBUG [http-8443-Processor23] axl6_0.Handler - select tksupportsfeature, tkdeviceprotocol from ProductSupportsFeature where tkproduct='235' and tkdeviceprotocol in ('11',99)
    2009-03-11 09:28:00,563 DEBUG [http-8443-Processor23] axl6_0.Handler - Product 235 supports feature 21
    2009-03-11 09:28:00,564 DEBUG [http-8443-Processor23] axl6_0.Handler - Product 235 does not support feature 34
    2009-03-11 09:28:00,564 DEBUG [http-8443-Processor23] axl6_0.Handler - Product 235 does not support feature 35
    2009-03-11 09:28:00,565 DEBUG [http-8443-Processor23] axl6_0.Handler - Product 235 does not support feature 17
    2009-03-11 09:28:00,565 DEBUG [http-8443-Processor23] axl6_0.Handler - Product 235 does not support feature 72
    2009-03-11 09:28:00,568 DEBUG [http-8443-Processor23] axl6_0.Handler - Product 235 does not support feature 1
    2009-03-11 09:28:00,571 INFO  [http-8443-Processor23] axl.AXLRouter - <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/><SOAP-ENV:Body><axl:updatePhoneResponse xmlns:axl="http://www.cisco.com/AXL/API/1.0" xmlns:xsi="http://www.cisco.com/AXL/API/1.0"><return>{38D8857B-D40F-0345-3143-56DE48FFF448}</return></axl:updatePhoneResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    2009-03-11 09:28:00,572 INFO  [http-8443-Processor23] axl.AXLRouter - Request 1231417943012 was process in 100ms
     
     
    is it possible, that i can't update third-party-sip phones?