Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Using CallManager AXL interface with perl and SOAP::Lite module

by teamnowhere (Initiate)
on Jul 26, 2007 at 13:07 UTC ( [id://628919]=perlquestion: print w/replies, xml ) Need Help??

teamnowhere has asked for the wisdom of the Perl Monks concerning the following question:

Hi all,

I am trying to write a PERL script to use Cisco CallManager AXL interface and get/process IP phones information.

I know I have to use SOAP::Lite package, but I really do not understand how it works, especally with CallManager interface.

Actually, I do not know how to connect to the server: what must I set in the URI field ? In the proxy one ? This part of the code is really not clear for me.

From what I have read on the web and seen on the server, I would have wrote:

my $CCM = SOAP::Lite ->uri(xxx.xxx.xxx.xxx:443) ->proxy("xxx.xxx.xxx.xxx/API/AXL/V1/axlsoap.xsd")
But something tells me its not really good ;)

An older thread of smeenz show me how to get data after that (even if it is not the information I have to get from server):

my $res = $soap->getPhone( SOAP::Data->name(phoneName => 'SEP000000000000') )
If there is a specific documentation I was unable to find it :(

Can anyone help me ?

Julien

Replies are listed 'Best First'.
Re: Using CallManager AXL interface with perl and SOAP::Lite module
by szbalint (Friar) on Jul 26, 2007 at 13:24 UTC
    Presumably you want to take a look at these documents to be able to use SOAP, to access the interface this device presents. The proxy method expects the specific uri you need to access and the uri in SOAP::Lite signifies the namespace of the Cisco interface. You might want to read the current Soap ::Lite documentation aswell.

    Update: SOAP can be daunting at first and SOAP::Lite is a complex module. Unfortunately debugging something like this is hard, so you'll have to read the documentation very carefully and use the error checking mechanisms as strictly as possible.

    As a quick tip, please keep in mind that when you want to retrieve the result of a remote method call, in 99% of the cases you want to use the 'paramsall' method, not the 'result' method. Consider this example:
    my $result = $soap->remote_method(@parameters); unless ($result->fault) { print $result->paramsall(); } else { print join ', ', $result->faultcode, $result->faultstring; }

    The result method on $result would only return the _first_ parameter that the remote_method returned. Personally I think that was a silly architectural decision, but this might save you some time.
      Thanks, Was very useful

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://628919]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-04-24 09:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found