working example
authorAleš Křenek <ljocha@ics.muni.cz>
Wed, 26 Mar 2008 16:04:06 +0000 (16:04 +0000)
committerAleš Křenek <ljocha@ics.muni.cz>
Wed, 26 Mar 2008 16:04:06 +0000 (16:04 +0000)
org.glite.lb.client/examples/user-jobs.pl [new file with mode: 0755]

diff --git a/org.glite.lb.client/examples/user-jobs.pl b/org.glite.lb.client/examples/user-jobs.pl
new file mode 100755 (executable)
index 0000000..63295a7
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+
+use SOAP::Lite;
+use Data::Dumper;
+
+$ENV{HTTPS_CA_DIR}='/etc/grid-security/certificates';
+$ENV{HTTPS_VERSION}='3';
+
+$proxy = $ENV{X509_USER_PROXY} ? $ENV{X509_USER_PROXY} : "/tmp/x509up_u$<";
+$ENV{HTTPS_CERT_FILE}= $ENV{HTTPS_KEY_FILE} = $ENV{HTTPS_CA_FILE} = $proxy;
+
+$server = shift or die "usage: $0 server\n";
+
+$c = SOAP::Lite
+       -> proxy($server) -> uri('http://glite.org/wsdl/services/lb');
+
+service $c 'http://egee.cesnet.cz/cms/export/sites/egee/en/WSDL/HEAD/LB.wsdl';
+ns $c 'http://glite.org/wsdl/elements/lb';
+
+on_fault $c sub { print Dumper($_[1]->fault); $fault = 1; };
+
+$resp = UserJobs $c;
+$body = $resp->body();
+
+# print Dumper $resp->body();
+
+unless ($fault) {
+       $njobs = $#{$body->{UserJobsResponse}->{jobs}};
+       for ($i = 0; $i < $njobs; $i++) {
+               print "$body->{UserJobsResponse}->{jobs}->[$i]\t",
+                     $body->{UserJobsResponse}->{states} ? $body->{UserJobsResponse}->{states}->[$i]->{state} : '',
+                     "\n";
+       }
+}
+