Perl Fax - Get List of Inbound Faxes
The Perl fax script below displays information for a number of submitted faxes using the GetList method.
The GetList method, demonstrated in the following Perl fax example, allows you to retrieve a list of inbound (received) faxes:
#/**************** Settings begin **************/ my $username = ''; # Enter your Interfax username here my $password = ''; # Enter your Interfax password here my $listType = "AllMessages"; my $maxItems = 10; my $NS = 'http://www.interfax.net'; #/**************** Settings end ****************/ my $client = SOAP::Lite ->uri($NS) ->on_action( sub { join '/', $NS, $_[1] } ) ->proxy('https://ws.interfax.net/inbound.asmx?wsdl'); my $result = $client ->call(SOAP::Data->name('GetList')->attr({xmlns => $NS}) => SOAP::Data->name('Username')->value($username)->type(''), SOAP::Data->name('Password')->value($password)->type(''), SOAP::Data->name('LType')->value($listType)->type(''), SOAP::Data->name('MaxItems')->value($maxItems)->type('') ); if ( $result->fault ) { print $result->faultstring . "\n"; } else { if( $result->valueof('//GetListResult') == 0 ) { my @fax_items = $result->valueof('//objMessageItem/*'); print "Displaying information for " . @fax_items . " faxes." . "\n"; for(my $i=0; $i < @fax_items; $i++) { print "Item " . ($i + 1) . "\n"; print " MessageID=". $fax_items[$i]{'MessageID'} . "\n"; print " PhoneNumber=". $fax_items[$i]{'PhoneNumber'} . "\n"; print " RemoteCSID=". $fax_items[$i]{'RemoteCSID'} . "\n" if exists $fax_items[$i]{'RemoteCSID'}; print " MessageStatus=". $fax_items[$i]{'MessageStatus'} . "\n"; print " Pages=". $fax_items[$i]{'Pages'} . "\n"; print " MessageSize=". $fax_items[$i]{'MessageSize'} . "\n"; print " MessageType=". $fax_items[$i]{'MessageType'} . "\n"; print " ReceiveTime=". $fax_items[$i]{'ReceiveTime'} . "\n"; print " CallerID=". $fax_items[$i]{'CallerID'} . "\n"; print " MessageRecordingDuration=". $fax_items[$i]{'MessageRecordingDuration'} . "\n"; } } else { print "Error, return code=" . $result->valueof('//GetListResult') . "\n"; } }

