git-cpan-module: SOAP-WSDL git-cpan-version: 2.00.02 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.02.tar.gz
85 lines
2.6 KiB
Perl
85 lines
2.6 KiB
Perl
#!/usr/bin/perl -w
|
|
package main;
|
|
use strict;
|
|
use warnings;
|
|
use lib qw(../lib ../../lib);
|
|
use MyElements::ListPersonResponse;
|
|
use MyServer::TestService::TestPort;
|
|
my $server = MyServer::TestService::TestPort->new({
|
|
dispatch_to => 'main',
|
|
transport_class => 'SOAP::WSDL::Server::CGI', # optional, default
|
|
});
|
|
$server->handle();
|
|
|
|
sub ListPerson {
|
|
my ($self, $body, $header) = @_;
|
|
# body is a ??? object - sorry, POD not implemented yet
|
|
# header is a ??? object - sorry, POD not implemented yet
|
|
|
|
# do something with body and header...
|
|
|
|
my %person = (
|
|
PersonID => { # MyTypes::PersonID
|
|
ID => 1, # int
|
|
},
|
|
Salutation => 'Salutation0', # string
|
|
Name => 'Name0', # string
|
|
GivenName => 'Martin', # string
|
|
DateOfBirth => '1970-01-01', # date
|
|
HomeAddress => { # MyTypes::Address
|
|
Street => 'Street 0', # string
|
|
ZIP => '00000', # string
|
|
City => 'City0', # string
|
|
Country => 'Country0', # string
|
|
PhoneNumber => '++499131123456', # PhoneNumber
|
|
MobilePhoneNumber => '++49150123456', # PhoneNumber
|
|
},
|
|
WorkAddress => { # MyTypes::Address
|
|
Street => 'Somestreet 23', # string
|
|
ZIP => '12345', # string
|
|
City => 'SomeCity', # string
|
|
Country => 'Germany', # string
|
|
PhoneNumber => '++499131123456', # PhoneNumber
|
|
MobilePhoneNumber => '++49150123456', # PhoneNumber
|
|
},
|
|
Contracts => { # MyTypes::ArrayOfContract
|
|
Contract => [
|
|
{ # MyTypes::Contract
|
|
ContractID => 100000, # long
|
|
ContractName => 'SomeContract0', # string
|
|
},
|
|
{ # MyTypes::Contract
|
|
ContractID => 100001, # long
|
|
ContractName => 'SomeContract1', # string
|
|
},
|
|
{ # MyTypes::Contract
|
|
ContractID => 100002, # long
|
|
ContractName => 'SomeContract2', # string
|
|
},
|
|
{ # MyTypes::Contract
|
|
ContractID => 100003, # long
|
|
ContractName => 'SomeContract3', # string
|
|
},
|
|
],
|
|
},
|
|
);
|
|
|
|
return MyElements::ListPersonResponse->new( {
|
|
out => { # MyTypes::ArrayOfPerson
|
|
NewElement => [
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
{ %person },
|
|
],
|
|
},
|
|
}
|
|
);
|
|
}
|