SignalP 3.1.ws0 Web Service test

This is a test of the SignalP - Prediction of signal peptide and cleavage sites in gram+, gram- and eukaryotic amino acid sequences service.
Test filesDownload the files for this test
Test runRun test now
Support reference#1837-1838
Test of the SignalP 3.1.ws0 Web Service. The main script 'test_signalp.pl' requires the presence of the script 'xml-compile.pl' but no input data.
Show/hide recent test logs
view log 4 days agoPASSED

Test began: 2012-02-05 09:11:03 Test ended: 2012-02-05 09:11:32 Result : Test passed ------ stderr and stdout follow ------ # job dc8f43294311ef7e34e7bb3755ce4a29 WAITING (2012-02-05 10:27:58) # job dc8f43294311ef7e34e7bb3755ce4a29 QUEUED (2012-02-05 10:28:06) # job dc8f43294311ef7e34e7bb3755ce4a29 FINISHED (2012-02-05 10:28:12) method : SignalP (options -t euk -m nn+hmm -thnn 0.43 -short -trunc 70) version : 3.1 ws0 sequence id : EGFR_HUMAN sequence comment : P00533 sequence : MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEVVLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALAVLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDFQNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGCTGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYVVTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFKNCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAFENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKLFGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCNLLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVMGENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVVALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTEDSIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLNTVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRVAPQSSEFIGA signal-nn 1 24 nn_score:0.869 signal-hmm 1 24 hmm_score:1Download this log...
view log 5 days agoPASSED

Test began: 2012-02-04 01:17:44 Test ended: 2012-02-04 01:18:22 Result : Test passed ------ stderr and stdout follow ------ # job 6960059e9f22d86ad4b07910b3eff0e0 WAITING (2012-02-04 02:34:27) # job 6960059e9f22d86ad4b07910b3eff0e0 ACTIVE (2012-02-04 02:34:38) # job 6960059e9f22d86ad4b07910b3eff0e0 FINISHED (2012-02-04 02:34:41) method : SignalP (options -t euk -m nn+hmm -thnn 0.43 -short -trunc 70) version : 3.1 ws0 sequence id : EGFR_HUMAN sequence comment : P00533 sequence : MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEVVLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALAVLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDFQNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGCTGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYVVTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFKNCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAFENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKLFGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCNLLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVMGENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVVALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTEDSIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLNTVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRVAPQSSEFIGA signal-nn 1 24 nn_score:0.869 signal-hmm 1 24 hmm_score:1Download this log...
view log 1 week agoPASSED

Test began: 2012-02-01 06:10:55 Test ended: 2012-02-01 06:11:19 Result : Test passed ------ stderr and stdout follow ------ # job 1c8aac49d49d0e51d8414616e1c544ba WAITING (2012-02-01 07:27:29) # job 1c8aac49d49d0e51d8414616e1c544ba QUEUED (2012-02-01 07:27:38) # job 1c8aac49d49d0e51d8414616e1c544ba FINISHED (2012-02-01 07:27:43) method : SignalP (options -t euk -m nn+hmm -thnn 0.43 -short -trunc 70) version : 3.1 ws0 sequence id : EGFR_HUMAN sequence comment : P00533 sequence : MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEVVLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALAVLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDFQNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGCTGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYVVTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFKNCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAFENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKLFGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCNLLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVMGENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVVALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTEDSIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLNTVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRVAPQSSEFIGA signal-nn 1 24 nn_score:0.869 signal-hmm 1 24 hmm_score:1Download this log...
view log 2 weeks agoPASSED

Test began: 2012-01-28 10:51:30 Test ended: 2012-01-28 10:52:09 Result : Test passed ------ stderr and stdout follow ------ # job 0bc7a5d5ff7e0a5822c42b4394041676 WAITING (2012-01-28 12:07:48) # job 0bc7a5d5ff7e0a5822c42b4394041676 ACTIVE (2012-01-28 12:07:59) # job 0bc7a5d5ff7e0a5822c42b4394041676 FINISHED (2012-01-28 12:08:02) method : SignalP (options -t euk -m nn+hmm -thnn 0.43 -short -trunc 70) version : 3.1 ws0 sequence id : EGFR_HUMAN sequence comment : P00533 sequence : MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEVVLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALAVLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDFQNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGCTGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYVVTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFKNCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAFENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKLFGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCNLLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVMGENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVVALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTEDSIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLNTVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRVAPQSSEFIGA signal-nn 1 24 nn_score:0.869 signal-hmm 1 24 hmm_score:1Download this log...
view log 2 weeks agoPASSED

Test began: 2012-01-28 05:13:31 Test ended: 2012-01-28 05:14:14 Result : Test passed ------ stderr and stdout follow ------ # job 2a91552ce7a7489ee57f80de234c21ae WAITING (2012-01-28 06:29:53) # job 2a91552ce7a7489ee57f80de234c21ae ACTIVE (2012-01-28 06:30:04) # job 2a91552ce7a7489ee57f80de234c21ae FINISHED (2012-01-28 06:30:06) method : SignalP (options -t euk -m nn+hmm -thnn 0.43 -short -trunc 70) version : 3.1 ws0 sequence id : EGFR_HUMAN sequence comment : P00533 sequence : MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEVVLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALAVLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDFQNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGCTGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYVVTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFKNCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAFENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKLFGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCNLLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVMGENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVVALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTEDSIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLNTVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRVAPQSSEFIGA signal-nn 1 24 nn_score:0.869 signal-hmm 1 24 hmm_score:1Download this log...
view log 2 weeks agoFAILED

Test began: 2012-01-24 14:16:28 Test ended: 2012-01-24 14:46:30 Result : Test failureDownload this log...
view log 2 weeks agoFAILED

Test began: 2012-01-24 01:25:38 Test ended: 2012-01-24 01:55:40 Result : Test failureDownload this log...
view log 3 weeks agoFAILED

Test began: 2012-01-20 11:51:48 Test ended: 2012-01-20 12:21:50 Result : Test failureDownload this log...
view log 4 weeks agoFAILED

Test began: 2012-01-15 13:06:47 Test ended: 2012-01-15 13:36:49 Result : Test failureDownload this log...
view log 4 weeks agoFAILED

Test began: 2012-01-13 19:19:18 Test ended: 2012-01-13 19:49:20 Result : Test failureDownload this log...
This test consists of the following files:
test_signalp.pl
#!/usr/bin/perl
# Description: Runs SignalP Web Service.
#It requires no input; to be used for testing in the EMBRACE WS Registry.
# Author: Peter Fischer Hallin
# Email: pfh@cbs.dtu.dk
# Version: 3.1 ws0
# Date: 2008-06-15
# usage: perl signalp.pl
# include standard XML::Compile helper functions (used to initiate WSDL proxys)
use Data::Dumper;
use strict;
require "xml-compile.pl";
# create proxy to genome atlas
my $signalp = WSDLclient ( 'http://www.cbs.dtu.dk/ws/SignalP/SignalP_3_1_ws0.wsdl' );
my @fasta;
my $entry = -1;
while (<DATA>) {
if (/^>(.*)/) {
my ($id , $comment) = split (" ",$1);
$entry++;
$fasta[$entry]->{id} = $id;
$fasta[$entry]->{comment} = $comment if defined $comment;
} elsif (/^([A-Za-z]+)/) {
$fasta[$entry]->{seq} .= $1;
}
}
my @sequence;
for ( my $i = 0 ; $i < scalar ( @fasta ) ; $i ++ ) {
push @sequence , { id => $fasta[$i]->{id} , comment => $fasta[$i]->{comment} , seq => $fasta[$i]->{seq} };
}
my $response = $signalp->{runService}->(
parameters => {
parameters => {
organism => 'euk' ,
method => 'nn+hmm' ,
thnn => '0.43' ,
sequencedata => {sequence => [@sequence]} } });
my $jobid;
die "error obtaining jobid\n" unless defined $response->{parameters}->{queueentry};
$jobid = $response->{parameters}->{queueentry}->{jobid};
&wait_job($signalp->{pollQueue},$jobid);
$response = $signalp->{fetchResult}->(job => { jobid => $jobid });
print "method : ".$response->{parameters}->{anndata}->{annsource}->{method}."\n";
print "version : ".$response->{parameters}->{anndata}->{annsource}->{version}."\n";
foreach my $ann (@{$response->{parameters}->{anndata}->{ann}}) {
print " sequence id : $ann->{sequence}->{id}\n";
print " sequence comment : $ann->{sequence}->{comment}\n";
print " sequence : $ann->{sequence}->{seq}\n";
foreach my $annrecord (@{$ann->{annrecords}->{annrecord}}) {
print join ( "\t", (
$annrecord->{feature},
$annrecord->{range}->{begin}->numify,
$annrecord->{range}->{end}->numify,
$annrecord->{score}[0]->{key}.':'.$annrecord->{score}[0]->{value},
))."\n";
}}
__DATA__
>EGFR_HUMAN P00533 EPIDERMAL GROWTH FACTOR RECEPTOR PRECURSOR (EC 2.7.1.112). - Homo sapiens (Human).
MRPSGTAGAALLALLAALCPASRALEEKKVCQGTSNKLTQLGTFEDHFLSLQRMFNNCEV
VLGNLEITYVQRNYDLSFLKTIQEVAGYVLIALNTVERIPLENLQIIRGNMYYENSYALA
VLSNYDANKTGLKELPMRNLQEILHGAVRFSNNPALCNVESIQWRDIVSSDFLSNMSMDF
QNHLGSCQKCDPSCPNGSCWGAGEENCQKLTKIICAQQCSGRCRGKSPSDCCHNQCAAGC
TGPRESDCLVCRKFRDEATCKDTCPPLMLYNPTTYQMDVNPEGKYSFGATCVKKCPRNYV
VTDHGSCVRACGADSYEMEEDGVRKCKKCEGPCRKVCNGIGIGEFKDSLSINATNIKHFK
NCTSISGDLHILPVAFRGDSFTHTPPLDPQELDILKTVKEITGFLLIQAWPENRTDLHAF
ENLEIIRGRTKQHGQFSLAVVSLNITSLGLRSLKEISDGDVIISGNKNLCYANTINWKKL
FGTSGQKTKIISNRGENSCKATGQVCHALCSPEGCWGPEPRDCVSCRNVSRGRECVDKCN
LLEGEPREFVENSECIQCHPECLPQAMNITCTGRGPDNCIQCAHYIDGPHCVKTCPAGVM
GENNTLVWKYADAGHVCHLCHPNCTYGCTGPGLEGCPTNGPKIPSIATGMVGALLLLLVV
ALGIGLFMRRRHIVRKRTLRRLLQERELVEPLTPSGEAPNQALLRILKETEFKKIKVLGS
GAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGI
CLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAA
RNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSY
GVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPK
FRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQ
QGFFSSPSTSRTPLLSSLSATSNNSTVACIDRNGLQSCPIKEDSFLQRYSSDPTGALTED
SIDDTFLPVPEYINQSVPKRPAGSVQNPVYHNQPLNPAPSRDPHYQDPHSTAVGNPEYLN
TVQPTCVNSTFDSPAHWAQKGSHQISLDNPDYQQDFFPKEAKPNGIFKGSTAENAEYLRV
APQSSEFIGA
xml-compile.pl
#!/usr/bin/perl
# Description: Helper scripts used to initiate XML::Compile's proxys (WSDL+XSD)
# Author: Peter Fischer Hallin
# Email: pfh@cbs.dtu.dk
# Version: NA
# Date: 2008-02-13
use strict;
use XML::Compile;
use XML::Compile::WSDL11;
use XML::Compile::Transport::SOAPHTTP;
use MIME::Base64;
use URI::WithBase;
sub addOperations {
# builds a hash of all operations declared in the proxy
my ( $proxy , @OP ) = @_;
# @OP is an optional list of operations to compile. All will be compiled inless defined
my %ops;
my %inc;
if ( $#OP >= 0) {
foreach (@OP) {
$inc{$_} = 1;
}
}
foreach my $op ($proxy->operations) {
next if $#OP >= 0 and ! defined $inc{$op->{operation}};
print STDERR "# compiling $op->{operation} ... \n";
$ops{$op->{operation}} = $proxy->compileClient($op->{operation});
}
return %ops;
}
sub WSDL2proxy {
# loads a WSDL and returns its proxy
my $wsdl = XML::LibXML->new->parse_file($_[0]);
my $proxy = XML::Compile::WSDL11->new($wsdl);
return $proxy;
}
sub appendSchemas {
# you have to manually check which external schemas are included in
# your WSDL - this function will append them to the proxy for you
my ($proxy , @schemas) = @_;
foreach my $s (@schemas) {
my $f = XML::LibXML->new->parse_file($s);
$proxy->schemas->importDefinitions ($f);
}
return $proxy;
}
sub wait_job {
my ($op_handle,$jobid) = @_;
my $sleep = 0;
my $status = "UNKNOWN";
my $response;
while ( $status !~ /FINISHED|FAILED/ ) {
$response = $op_handle->( job => { job => { jobid => $jobid } }) ;
my $new_status = $response->{queueentry}->{queueentry}->{status};
if ( $new_status ne $status and $new_status ne "") {
print STDERR "# job $jobid $new_status ($response->{queueentry}->{queueentry}->{datetime})\n";
$status = $new_status;
}
$sleep = 5 if $status eq "ACTIVE";
sleep $sleep;
}
die "# ERROR: job $jobid FAILED\n" if $status ne "FINISHED";
}
# with time, this is to replace the above functions!
sub WSDLclient {
# by hhs 2008
my ($wsdlurl, @ops)=@_;
my %imports=();
my $importcnt;
my %ops;
my $wsdl = XML::LibXML->new->parse_file($wsdlurl);
my $proxy = XML::Compile::WSDL11->new($wsdl);
while (1) {
foreach my $ns (keys %{$proxy->{schemas}->{namespaces} }) {
foreach my $uri (keys %{$proxy->{schemas}->{namespaces}->{$ns}}) {
foreach my $e (@{$proxy->{schemas}->{namespaces}->{$ns}->{$uri}}) {
my $base = $wsdlurl;
$base = $e->{filename} if defined $e->{filename};
foreach my $ns2 (keys %{$e->{import}} ) {
foreach my $fn ( @{$e->{import}->{$ns2}} ) {
$uri = URI::WithBase->new($fn, $base);
$imports{$uri->abs}=0 unless (defined $imports{$uri->abs});
}
}
}
}
}
$importcnt=0;
foreach my $url (keys %imports) {
next if $imports{$url} == 1; # added by pfh
my $f = XML::LibXML->new->parse_file($url);
$proxy->schemas->importDefinitions ($f);
$importcnt++;
$imports{$url}=1;
}
last unless($importcnt);
}
my %inc;
if ( $#ops >= 0) {
foreach (@ops) {
$inc{$_} = 1;
}
}
foreach my $op ($proxy->operations) {
next if $#ops >= 0 and ! defined $inc{$op->{operation}};
$ops{$op->{operation}} = $proxy->compileClient($op->{operation});
}
return \%ops;
}
1;
»
- Login to post comments