--- trunk/soap-client.pl 2005/05/16 13:52:43 25 +++ trunk/soap-client.pl 2005/08/25 11:58:15 79 @@ -1,18 +1,76 @@ #!/usr/bin/perl -w -use SOAP::Lite +trace => 'debug'; +use SOAP::Lite; +use Data::Dumper; + +my $debug = 0; +$debug = 1 if (@ARGV); + my $HOST = "http://localhost/~dpavlin/notice-sender/soap.cgi"; -my $NS = "urn:Nos"; +my $NS = "http://localhost/Nos/SOAP/"; my $soap = SOAP::Lite ->readable(1) ->uri($NS) ->proxy($HOST); -my $som = $soap->add_member_to_list( - SOAP::Data->name("list" => "My list"), - SOAP::Data->name("email" => 'dpavlin@rot13.org'), - SOAP::Data->name("name" => 'Dobrica Pavlinusic'), - ); - print "The response from the server was:\n".( $som->result || 'null' )."\n"; +$soap->on_debug(sub{print "# ",@_}) if ($debug); + +my $list_id = $soap->CreateList({ + list => 'My list', + email => 'my-soap@example.com', + })->result || die "can't add list"; + +print "added list ID $list_id\n"; + + +my $member_id = $soap->AddMemberToList({ + list => 'My list', + email => 'dpavlin@rot13.org', + name => 'Dobrica Pavlinusic', + })->result || die "can't add user"; + +print "added member ID $member_id\n"; + + +my $message_id = $soap->AddMessageToList({ + list => 'My list', + message => 'To: member@example.com +From: mylist@example.com +Subject: text + +This is a dummy test +', + })->result || die "can't add message"; + +print "added message ID $message_id\n"; + +my $result = $soap->ListMembers({ + list => 'My list', +}); + +die "can't list members ".$result->faultcode.": ".$result->faultstrig if ($result->fault); + +print "members:\n"; +foreach my $m (@{$result->result}) { + print "\t",$m->{'email'},"\n"; +} + +my @r = $soap->MessagesReceived({ + list => 'My list', +})->result; +print "received messages: ", Dumper(\@r); + +$soap->DeleteMemberFromList({ + list => 'My list', + email => 'dpavlin@rot13.org', +})->result || die "can't delete member"; + +print "deleted member\n"; + +$soap->DropList({ + list => 'My list' +}); + +print "delete list\n"; 1;