import SOAP-WSDL 2.00_26 from CPAN

git-cpan-module:   SOAP-WSDL
git-cpan-version:  2.00_26
git-cpan-authorid: MKUTTER
git-cpan-file:     authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_26.tar.gz
This commit is contained in:
Martin Kutter
2009-12-12 19:48:13 -08:00
committed by Michael G. Schwern
parent a9033164e6
commit 3cfeebae54
39 changed files with 2315 additions and 58 deletions
+111
View File
@@ -0,0 +1,111 @@
package MyElements::ListPerson;
use strict;
use warnings;
{ # BLOCK to scope variables
sub get_xmlns { 'http://www.example.org/benchmark/' }
__PACKAGE__->__set_name('ListPerson');
__PACKAGE__->__set_nillable();
__PACKAGE__->__set_minOccurs();
__PACKAGE__->__set_maxOccurs();
__PACKAGE__->__set_ref();
use base qw(
SOAP::WSDL::XSD::Typelib::Element
SOAP::WSDL::XSD::Typelib::ComplexType
);
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %in_of :ATTR(:get<in>);
__PACKAGE__->_factory(
[ qw(
in
) ],
{
in => \%in_of,
},
{
in => 'MyTypes::Person',
}
);
} # end BLOCK
} # end of BLOCK
1;
# __END__
=pod
=head1 NAME
MyElements::ListPerson
=head1 DESCRIPTION
Perl data type class for the XML Schema defined element
ListPerson from the namespace http://www.example.org/benchmark/.
=head1 METHODS
=head2 new
my $element = MyElements::ListPerson->new($data);
Constructor. The following data structure may be passed to new():
{
in => { # MyTypes::Person
PersonID => { # MyTypes::PersonID
ID => $some_value, # int
},
Salutation => $some_value, # string
Name => $some_value, # string
GivenName => $some_value, # string
DateOfBirth => $some_value, # date
HomeAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
WorkAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
Contracts => { # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
},
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
@@ -0,0 +1,113 @@
package MyElements::ListPersonResponse;
use strict;
use warnings;
{ # BLOCK to scope variables
sub get_xmlns { 'http://www.example.org/benchmark/' }
__PACKAGE__->__set_name('ListPersonResponse');
__PACKAGE__->__set_nillable();
__PACKAGE__->__set_minOccurs();
__PACKAGE__->__set_maxOccurs();
__PACKAGE__->__set_ref();
use base qw(
SOAP::WSDL::XSD::Typelib::Element
SOAP::WSDL::XSD::Typelib::ComplexType
);
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %out_of :ATTR(:get<out>);
__PACKAGE__->_factory(
[ qw(
out
) ],
{
out => \%out_of,
},
{
out => 'MyTypes::ArrayOfPerson',
}
);
} # end BLOCK
} # end of BLOCK
1;
# __END__
=pod
=head1 NAME
MyElements::ListPersonResponse
=head1 DESCRIPTION
Perl data type class for the XML Schema defined element
ListPersonResponse from the namespace http://www.example.org/benchmark/.
=head1 METHODS
=head2 new
my $element = MyElements::ListPersonResponse->new($data);
Constructor. The following data structure may be passed to new():
{
out => { # MyTypes::ArrayOfPerson
NewElement => { # MyTypes::Person
PersonID => { # MyTypes::PersonID
ID => $some_value, # int
},
Salutation => $some_value, # string
Name => $some_value, # string
GivenName => $some_value, # string
DateOfBirth => $some_value, # date
HomeAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
WorkAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
Contracts => { # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
},
},
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
@@ -0,0 +1,146 @@
package MyInterfaces::TestService::TestPort;
use strict;
use warnings;
use Class::Std::Fast::Storable;
use Scalar::Util qw(blessed);
use base qw(SOAP::WSDL::Client::Base);
# only load if it hasn't been loaded before
require MyTypemaps::TestService
if not MyTypemaps::TestService->can('get_class');
sub START {
$_[0]->set_proxy('http://localhost:81/soap-wsdl-test/person.pl') if not $_[2]->{proxy};
$_[0]->set_class_resolver('MyTypemaps::TestService')
if not $_[2]->{class_resolver};
}
sub ListPerson {
my ($self, $body, $header) = @_;
die "ListPerson must be called as object method (\$self is <$self>)" if not blessed($self);
return $self->SUPER::call({
operation => 'ListPerson',
soap_action => 'http://www.example.org/benchmark/ListPerson',
style => 'document',
body => {
'use' => 'literal',
namespace => '',
encodingStyle => '',
parts => [qw( MyElements::ListPerson )],
},
header => {
},
headerfault => {
}
}, $body, $header);
}
1;
__END__
=pod
=head1 NAME
MyInterfaces::TestService::TestPort - SOAP Interface for the TestService Web Service
=head1 SYNOPSIS
use MyInterfaces::TestService::TestPort;
my $interface = MyInterfaces::TestService::TestPort->new();
my $response;
$response = $interface->ListPerson();
=head1 DESCRIPTION
SOAP Interface for the TestService web service
located at http://localhost:81/soap-wsdl-test/person.pl.
=head1 SERVICE TestService
=head2 Port TestPort
=head1 METHODS
=head2 General methods
=head3 new
Constructor.
All arguments are forwarded to L<SOAP::WSDL::Client|SOAP::WSDL::Client>.
=head2 SOAP Service methods
Method synopsis is displayed with hash refs as parameters.
The commented class names in the method's parameters denote that objects
of the corresponding class can be passed instead of the marked hash ref.
You may pass any combination of objects, hash and list refs to these
methods, as long as you meet the structure.
=head3 ListPerson
$interface->ListPerson( {
in => { # MyTypes::Person
PersonID => { # MyTypes::PersonID
ID => $some_value, # int
},
Salutation => $some_value, # string
Name => $some_value, # string
GivenName => $some_value, # string
DateOfBirth => $some_value, # date
HomeAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
WorkAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
Contracts => { # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
},
},,
);
=head1 AUTHOR
Generated by SOAP::WSDL on Mon Dec 3 22:20:49 2007
=pod
@@ -0,0 +1,145 @@
package MyServer::TestService::TestPort;
use strict;
use warnings;
use Class::Std::Fast::Storable;
use Scalar::Util qw(blessed);
use base qw(SOAP::WSDL::Client::Base);
# only load if it hasn't been loaded before
require MyTypemaps::TestService
if not MyTypemaps::TestService->can('get_class');
my %transport_class_of :ATTR(:name<transport_class> :default<SOAP::WSDL::Server::CGI>);
my %transport_of :ATTR(:name<transport> :default<()>);
my %dispatch_to :ATTR(:name<dispatch_to>);
my $action_map_ref = {
'http://www.example.org/benchmark/ListPerson' => 'ListPerson',
};
sub START {
my ($self, $ident, $arg_ref) = @_;
eval "require $transport_class_of{ $ident }"
or die "Cannot load transport class $transport_class_of{ $ident }: $@";
$transport_of{ $ident } = $transport_class_of{ $ident }->new({
action_map_ref => $action_map_ref,
class_resolver => 'MyTypemaps::TestService',
dispatch_to => $dispatch_to{ $ident },
});
}
sub handle {
$transport_of{ ${ $_[0] } }->handle();
}
1;
__END__
=pod
=head1 NAME
MyInterfaces::TestService::TestPort - SOAP Server Class for the TestService Web Service
=head1 SYNOPSIS
use MyServer::TestService::TestPort;
my $server = MyServer::TestService::TestPort->new({
dispatch_to => 'My::Handler::Class',
transport_class => 'SOAP::WSDL::Server::CGI', # optional, default
});
$server->handle();
=head1 DESCRIPTION
SOAP Server handler for the TestService web service
located at http://localhost:81/soap-wsdl-test/person.pl.
=head1 SERVICE TestService
=head2 Port TestPort
=head1 METHODS
=head2 General methods
=head3 new
Constructor.
The C<dispatch_to> argument is mandatory. It must be a class or object
implementing the SOAP Service methods listed below.
=head2 SOAP Service methods
Your dispatch_to class has to implement the following methods:
The examples below serve as copy-and-paste prototypes to use in your
class.
=head3 ListPerson
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...
return MyElements::ListPersonResponse->new( {
out => { # MyTypes::ArrayOfPerson
NewElement => { # MyTypes::Person
PersonID => { # MyTypes::PersonID
ID => $some_value, # int
},
Salutation => $some_value, # string
Name => $some_value, # string
GivenName => $some_value, # string
DateOfBirth => $some_value, # date
HomeAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
WorkAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
Contracts => { # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
},
},
},
);
}
=head1 AUTHOR
Generated by SOAP::WSDL on Mon Dec 3 22:20:32 2007
=pod
+92
View File
@@ -0,0 +1,92 @@
package MyTypemaps::TestService;
use strict;
use warnings;
our $typemap_1 = {
'ListPersonResponse/out/NewElement/WorkAddress/Street' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/Contracts' => 'MyTypes::ArrayOfContract',
'ListPerson/in/HomeAddress/PhoneNumber' => 'MyTypes::PhoneNumber',
'ListPersonResponse/out/NewElement/HomeAddress' => 'MyTypes::Address',
'ListPersonResponse/out/NewElement/Contracts/Contract' => 'MyTypes::Contract',
'ListPersonResponse/out/NewElement/HomeAddress/ZIP' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/WorkAddress/City' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/HomeAddress' => 'MyTypes::Address',
'Fault/faultcode' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI',
'ListPerson/in/HomeAddress/City' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/WorkAddress/PhoneNumber' => 'MyTypes::PhoneNumber',
'ListPerson/in/WorkAddress/ZIP' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/Contracts' => 'MyTypes::ArrayOfContract',
'ListPerson/in/WorkAddress/Street' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in' => 'MyTypes::Person',
'ListPersonResponse/out/NewElement/GivenName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/HomeAddress/PhoneNumber' => 'MyTypes::PhoneNumber',
'ListPersonResponse/out/NewElement/HomeAddress/City' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement' => 'MyTypes::Person',
'ListPerson/in/PersonID/ID' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
'ListPerson/in/HomeAddress/Street' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/PersonID/ID' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
'ListPerson/in/HomeAddress/Country' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/GivenName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/HomeAddress/MobilePhoneNumber' => 'MyTypes::PhoneNumber',
'ListPerson/in/Name' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/PersonID' => 'MyTypes::PersonID',
'ListPersonResponse/out/NewElement/WorkAddress/MobilePhoneNumber' => 'MyTypes::PhoneNumber',
'ListPersonResponse/out' => 'MyTypes::ArrayOfPerson',
'ListPerson/in/Contracts/Contract' => 'MyTypes::Contract',
'ListPersonResponse/out/NewElement/Name' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/WorkAddress/ZIP' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/DateOfBirth' => 'SOAP::WSDL::XSD::Typelib::Builtin::date',
'ListPersonResponse/out/NewElement/HomeAddress/MobilePhoneNumber' => 'MyTypes::PhoneNumber',
'ListPersonResponse/out/NewElement/HomeAddress/Country' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'Fault/faultstring' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/HomeAddress/Street' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/Contracts/Contract/ContractName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'Fault' => 'SOAP::WSDL::SOAP::Typelib::Fault11',
'ListPerson/in/Contracts/Contract/ContractName' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse' => 'MyElements::ListPersonResponse',
'ListPersonResponse/out/NewElement/Salutation' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/WorkAddress/City' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'Fault/faultactor' => 'SOAP::WSDL::XSD::Typelib::Builtin::token',
'ListPerson' => 'MyElements::ListPerson',
'ListPerson/in/Salutation' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/WorkAddress/MobilePhoneNumber' => 'MyTypes::PhoneNumber',
'Fault/detail' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/WorkAddress/Country' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPerson/in/PersonID' => 'MyTypes::PersonID',
'ListPerson/in/HomeAddress/ZIP' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/WorkAddress' => 'MyTypes::Address',
'ListPersonResponse/out/NewElement/DateOfBirth' => 'SOAP::WSDL::XSD::Typelib::Builtin::date',
'ListPerson/in/WorkAddress/PhoneNumber' => 'MyTypes::PhoneNumber',
'ListPersonResponse/out/NewElement/WorkAddress/Country' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
'ListPersonResponse/out/NewElement/Contracts/Contract/ContractID' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
'ListPerson/in/Contracts/Contract/ContractID' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
'ListPerson/in/WorkAddress' => 'MyTypes::Address'
};
;
sub get_class {
my $name = join '/', @{ $_[1] };
exists $typemap_1->{ $name } or die "Cannot resolve $name via " . __PACKAGE__;
return $typemap_1->{ $name };
}
sub get_typemap {
return $typemap_1;
}
1;
__END__
=pod
=head1 NAME
MyTypemaps::TestService; - typemap for ::TestService;
=head1 DESCRIPTION
Typemap created by SOAP::WSDL for map-based SOAP message parsers.
=cut
+98
View File
@@ -0,0 +1,98 @@
package MyTypes::Address;
use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %Street_of :ATTR(:get<Street>);
my %ZIP_of :ATTR(:get<ZIP>);
my %City_of :ATTR(:get<City>);
my %Country_of :ATTR(:get<Country>);
my %PhoneNumber_of :ATTR(:get<PhoneNumber>);
my %MobilePhoneNumber_of :ATTR(:get<MobilePhoneNumber>);
__PACKAGE__->_factory(
[ qw(
Street
ZIP
City
Country
PhoneNumber
MobilePhoneNumber
) ],
{
Street => \%Street_of,
ZIP => \%ZIP_of,
City => \%City_of,
Country => \%Country_of,
PhoneNumber => \%PhoneNumber_of,
MobilePhoneNumber => \%MobilePhoneNumber_of,
},
{
Street => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
ZIP => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
City => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
Country => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
PhoneNumber => 'MyTypes::PhoneNumber',
MobilePhoneNumber => 'MyTypes::PhoneNumber',
}
);
} # end BLOCK
1;
=pod
=head1 NAME
MyTypes::Address
=head1 DESCRIPTION
Perl data type class for the XML Schema defined complextype
Address from the namespace http://www.example.org/benchmark/.
=head2 PROPERTIES
The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:
Street
ZIP
City
Country
PhoneNumber
MobilePhoneNumber
=head1 METHODS
=head2 new
Constructor. The following data structure may be passed to new():
{ # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
+71
View File
@@ -0,0 +1,71 @@
package MyTypes::ArrayOfContract;
use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %Contract_of :ATTR(:get<Contract>);
__PACKAGE__->_factory(
[ qw(
Contract
) ],
{
Contract => \%Contract_of,
},
{
Contract => 'MyTypes::Contract',
}
);
} # end BLOCK
1;
=pod
=head1 NAME
MyTypes::ArrayOfContract
=head1 DESCRIPTION
Perl data type class for the XML Schema defined complextype
ArrayOfContract from the namespace http://www.example.org/benchmark/.
=head2 PROPERTIES
The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:
Contract
=head1 METHODS
=head2 new
Constructor. The following data structure may be passed to new():
{ # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
+98
View File
@@ -0,0 +1,98 @@
package MyTypes::ArrayOfPerson;
use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %NewElement_of :ATTR(:get<NewElement>);
__PACKAGE__->_factory(
[ qw(
NewElement
) ],
{
NewElement => \%NewElement_of,
},
{
NewElement => 'MyTypes::Person',
}
);
} # end BLOCK
1;
=pod
=head1 NAME
MyTypes::ArrayOfPerson
=head1 DESCRIPTION
Perl data type class for the XML Schema defined complextype
ArrayOfPerson from the namespace http://www.example.org/benchmark/.
=head2 PROPERTIES
The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:
NewElement
=head1 METHODS
=head2 new
Constructor. The following data structure may be passed to new():
{ # MyTypes::ArrayOfPerson
NewElement => { # MyTypes::Person
PersonID => { # MyTypes::PersonID
ID => $some_value, # int
},
Salutation => $some_value, # string
Name => $some_value, # string
GivenName => $some_value, # string
DateOfBirth => $some_value, # date
HomeAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
WorkAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
Contracts => { # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
},
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
+74
View File
@@ -0,0 +1,74 @@
package MyTypes::Contract;
use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %ContractID_of :ATTR(:get<ContractID>);
my %ContractName_of :ATTR(:get<ContractName>);
__PACKAGE__->_factory(
[ qw(
ContractID
ContractName
) ],
{
ContractID => \%ContractID_of,
ContractName => \%ContractName_of,
},
{
ContractID => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
ContractName => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
}
);
} # end BLOCK
1;
=pod
=head1 NAME
MyTypes::Contract
=head1 DESCRIPTION
Perl data type class for the XML Schema defined complextype
Contract from the namespace http://www.example.org/benchmark/.
=head2 PROPERTIES
The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:
ContractID
ContractName
=head1 METHODS
=head2 new
Constructor. The following data structure may be passed to new():
{ # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
+131
View File
@@ -0,0 +1,131 @@
package MyTypes::Person;
use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %PersonID_of :ATTR(:get<PersonID>);
my %Salutation_of :ATTR(:get<Salutation>);
my %Name_of :ATTR(:get<Name>);
my %GivenName_of :ATTR(:get<GivenName>);
my %DateOfBirth_of :ATTR(:get<DateOfBirth>);
my %HomeAddress_of :ATTR(:get<HomeAddress>);
my %WorkAddress_of :ATTR(:get<WorkAddress>);
my %Contracts_of :ATTR(:get<Contracts>);
__PACKAGE__->_factory(
[ qw(
PersonID
Salutation
Name
GivenName
DateOfBirth
HomeAddress
WorkAddress
Contracts
) ],
{
PersonID => \%PersonID_of,
Salutation => \%Salutation_of,
Name => \%Name_of,
GivenName => \%GivenName_of,
DateOfBirth => \%DateOfBirth_of,
HomeAddress => \%HomeAddress_of,
WorkAddress => \%WorkAddress_of,
Contracts => \%Contracts_of,
},
{
PersonID => 'MyTypes::PersonID',
Salutation => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
Name => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
GivenName => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
DateOfBirth => 'SOAP::WSDL::XSD::Typelib::Builtin::date',
HomeAddress => 'MyTypes::Address',
WorkAddress => 'MyTypes::Address',
Contracts => 'MyTypes::ArrayOfContract',
}
);
} # end BLOCK
1;
=pod
=head1 NAME
MyTypes::Person
=head1 DESCRIPTION
Perl data type class for the XML Schema defined complextype
Person from the namespace http://www.example.org/benchmark/.
=head2 PROPERTIES
The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:
PersonID
Salutation
Name
GivenName
DateOfBirth
HomeAddress
WorkAddress
Contracts
=head1 METHODS
=head2 new
Constructor. The following data structure may be passed to new():
{ # MyTypes::Person
PersonID => { # MyTypes::PersonID
ID => $some_value, # int
},
Salutation => $some_value, # string
Name => $some_value, # string
GivenName => $some_value, # string
DateOfBirth => $some_value, # date
HomeAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
WorkAddress => { # MyTypes::Address
Street => $some_value, # string
ZIP => $some_value, # string
City => $some_value, # string
Country => $some_value, # string
PhoneNumber => $some_value, # PhoneNumber
MobilePhoneNumber => $some_value, # PhoneNumber
},
Contracts => { # MyTypes::ArrayOfContract
Contract => { # MyTypes::Contract
ContractID => $some_value, # long
ContractName => $some_value, # string
},
},
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
+68
View File
@@ -0,0 +1,68 @@
package MyTypes::PersonID;
use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
Class::Std::initialize();
{ # BLOCK to scope variables
my %ID_of :ATTR(:get<ID>);
__PACKAGE__->_factory(
[ qw(
ID
) ],
{
ID => \%ID_of,
},
{
ID => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
}
);
} # end BLOCK
1;
=pod
=head1 NAME
MyTypes::PersonID
=head1 DESCRIPTION
Perl data type class for the XML Schema defined complextype
PersonID from the namespace http://www.example.org/benchmark/.
=head2 PROPERTIES
The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:
ID
=head1 METHODS
=head2 new
Constructor. The following data structure may be passed to new():
{ # MyTypes::PersonID
ID => $some_value, # int
},
=head1 AUTHOR
Generated by SOAP::WSDL
=cut
+56
View File
@@ -0,0 +1,56 @@
package MyTypes::PhoneNumber;
use strict;
use warnings;
sub get_xmlns { 'http://www.example.org/benchmark/'};
# derivation by restriction
use base qw(
SOAP::WSDL::XSD::Typelib::Builtin::string
);
1;
=pod
=head1 MyTypes::PhoneNumber
=head1 DESCRIPTION
Perl data type class for the XML Schema defined simpleType
PhoneNumber from the namespace http://www.example.org/benchmark/.
This clase is derived from SOAP::WSDL::XSD::Typelib::Builtin::string
. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
like it's base type.
# Description of restrictions not implemented yet.
=head1 METHODS
=head2 new
Constructor.
=head2 get_value / set_value
Getter and setter for the simpleType's value.
=head1 OVERLOADING
Depending on the simple type's base type, the following operations are overloaded
Stringification
Numerification
Boolification
Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
=head1 AUTHOR
Generated by SOAP::WSDL
=cut