#!/usr/bin/perl -w ##################################################### # # Yet another cnlient to access ExamineNames.pm through SOAP. # ####################################################### # Note that this next line happens at compile time; # I made the mistake of trying to have # my $uri=""; # this happens at run time # use SOAP... uri=>$uri # but this happens earlier. use SOAP::Lite +autodispatch => uri => 'ExamineNames', proxy => 'http://bob.marlboro.edu/~msie/2002/ipl/perl/lectures/jun15/names/server-ExamineNames.cgi', on_fault => \&faultHandler; my $EN = ExamineNames->new(); my $nickname = "Jim"; my $gender = $EN->getGender($nickname); # A remote call. print " The gender of '$nickname' is '$gender'. \n"; my $fullname = $EN->expandNickname($nickname); # Another remote call. print " The fullname of '$nickname' is '$fullname'. \n"; my $name1 = "Jim Mahoney"; my $name2 = "JAMES H MAHONEY"; my $rating = $EN->sameNames($name1, $name2); # And a third. print " Rating of '$name1' == '$name2' is '$rating'. \n"; exit; # -------------------------------------------------- sub faultHandler { my ($soap, $som) = @_; # see distribution/SOAP-Lite-0.55/examples/ if ($som and $som->fault) { my $faultstring = $som->faultstring; my $faultdetail = $som->faultdetail; print "OOPS: " . $som->faultcode . "\n"; print " " . $faultstring if $faultstring; print " " . $faultdetail if $faultdetail; } print " soap transport status : '" . $soap->transport->status . "'\n"; die " SOAP fault"; }