Don't like ads? PRO users don't see any ads ;-)
Guest

AWS Availability Check Perl

By: rendermani on Apr 13th, 2012  |  syntax: Perl 6  |  size: 1.74 KB  |  hits: 63  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. use SOAP::Lite;
  2. $proxy = 'https://awstest.ascio.com/2012/01/01/AscioService.svc';
  3. $namespace = 'http://www.ascio.com/2007/01';
  4. $soap = SOAP::Lite
  5.       -> on_action( sub { join '/', 'http://www.ascio.com/2007/01/IDomainService', $_[1] } )
  6.       -> proxy($proxy);      
  7. $soap->autotype(0);
  8. $method = SOAP::Data->name('AvailabilityCheck')
  9.       ->attr({xmlns => $namespace});
  10. @query = (
  11.         SOAP::Data->name(sessionId => 'xxxx_here_the_session_id_xxxx'),
  12. SOAP::Data->name('domains' =>
  13. \SOAP::Data->value(
  14.    SOAP::Data->name('string'=> 'myDomain'),
  15.    SOAP::Data->name('string'=> 'myDomain2')
  16. )
  17. ),
  18. SOAP::Data->name('tlds' =>
  19. \SOAP::Data->value(
  20.     SOAP::Data->name('string'=> 'com'),
  21.     SOAP::Data->name('string'=> 'net'),
  22.     SOAP::Data->name('string'=> 'info')
  23. )
  24. ),
  25. SOAP::Data->name(quality => 'Live')
  26.     );
  27.        
  28. $result = $soap->call($method => @query);
  29.    
  30. unless ($result->fault) {
  31.     $response = $result->valueof('//AvailabilityCheckResponse/AvailabilityCheckResult');
  32.     print "ResultCode : $response->{'ResultCode'}\r\n";
  33.     print "Message : $response->{'Message'}\r\n";
  34.     print "Values: ", join(', ', $result->valueof('//AvailabilityCheckResponse/AvailabilityCheckResult/Values/[>0]')), "\n";
  35.     if ($response->{'ResultCode'} == 200) {
  36.       @results = $result->valueof('//AvailabilityCheckResponse/results/AvailabilityCheckResult');
  37.         foreach(@results) {
  38.           print "DomainName : $_->{'DomainName'}\r\n";
  39.           print "StatusCode : $_->{'StatusCode'}\r\n";
  40.           print "StatusMessage : $_->{'StatusMessage'}\r\n";
  41.           print "Quality : $_->{'Quality'}\r\n";
  42.        }
  43.     }
  44. }
  45. else {
  46.     print join ', ',
  47. $result->faultcode,
  48.     $result->faultstring,
  49.     $result->faultdetail;
  50. }