#!/usr/bin/env perl use SOAP::Lite; my $wsdlurl = "http://bibiserv.techfak.uni-bielefeld.de/wsdl/rose.wsdl"; print "Submitting your request ...\n"; my @params = ("sequenceType","DNA", "SequenceNum",SOAP::Data->type(int => "4"), "Relatedness",SOAP::Data->type(int => "250"), "TheSequence","\"AATTAAGAACAAATAACCGGT\"", "AlignmentFormat","\"FASTA\""); my $result = SOAP::Lite->service($wsdlurl) ->on_fault(sub {soapFaultHandler(@_)}) ->request_orig("",\@params); print "got id: '$result'\n"; sub soapFaultHandler { my($soap, $res) = @_; if (ref $res) { my $detail = $res->faultdetail; if(defined($detail->{"hobitStatuscode"})) { print $detail->{"hobitStatuscode"}->{"description"}; print "(".$detail->{"hobitStatuscode"}->{"statuscode"}.")\n"; } else { print "Sevlet Error - no Hobit Statuscode\n"; } } else { print "HTTP layer Error: "; print $soap->transport->status."\n"; } exit 1; }