File: Parameters.pm

package info (click to toggle)
libsoap-lite-perl 0.712-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,740 kB
  • ctags: 831
  • sloc: perl: 10,860; xml: 90; makefile: 23; cs: 16
file content (70 lines) | stat: -rw-r--r-- 1,618 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package My::Parameters;

use vars qw(@ISA);
@ISA = qw(SOAP::Server::Parameters);

sub echo {
  my $self = shift;
  pop; # last parameter is envelope (SOAP::SOM object)
       # don't want to echo it
  @_;
}

sub echodata {
  my $self = shift;
  my @parameters = pop->dataof(SOAP::SOM::paramsin);
  @parameters;
}

sub echotwo {
  SOAP::Data->type(xml => "<a>$_[1]</a><b>$_[2]</b>");
}

sub autobind {
  my $self = shift;
  my $param1 = shift;
  my $param2 = SOAP::Data->name('myparam' => shift() * 2);
  return $param1, $param2;
}

sub addheader { 
  my $self = shift;
  my $param1 = shift;
  my $header = pop->headerof(SOAP::SOM::headers);
  return $param1, $header->value($header->value x 2);
}

sub byorder {
  my $self = shift;
  my($a, $b, $c) = @_;
  return "1=$a, 2=$b, 3=$c";
}

sub byname { # input parameter(s), envelope (SOAP::SOM object)
  my $self = shift;
  my($a, $b, $c) = SOAP::Server::Parameters::byName([qw(a b c)], @_);
  return "a=$a, b=$b, c=$c";
}

sub bynameororder { # input parameter(s), envelope (SOAP::SOM object)
  my $self = shift;
  my($a, $b, $c) = SOAP::Server::Parameters::byNameOrOrder([qw(a b c)], @_);
  return "a=$a, b=$b, c=$c";
}

sub die_simply {
  die 'Something bad happened in our method';
}

sub die_with_object {
  die SOAP::Data->name(something => 'value')->uri('http://www.soaplite.com/');
}

sub die_with_fault {
  die SOAP::Fault->faultcode('Server.Custom') # will be qualified
                 ->faultstring('Died in server method')
                 ->faultdetail(bless {code => 1} => 'BadError')
                 ->faultactor('http://www.soaplite.com/custom');
}

1;