git-cpan-module: SOAP-WSDL git-cpan-version: 2.00_28 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_28.tar.gz
89 lines
2.0 KiB
Plaintext
89 lines
2.0 KiB
Plaintext
[% interface_name = interface_prefix _ '::'
|
|
_ service.get_name.replace('\.', '::') _ '::'
|
|
_ port.get_name.replace('^.+\.','');
|
|
interface_name = interface_name.replace('-','_'); -%]
|
|
package [% interface_name %];
|
|
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 [% typemap_prefix %]::[% service.get_name.replace('\.', '::').replace('-', '_') %]
|
|
if not [% typemap_prefix %]::[% service.get_name.replace('\.', '::').replace('-', '_') %]->can('get_class');
|
|
|
|
sub START {
|
|
$_[0]->set_proxy('[% port.first_address.get_location %]') if not $_[2]->{proxy};
|
|
$_[0]->set_class_resolver('[% typemap_prefix %]::[% service.get_name.replace('\.', '::').replace('-', '_') %]')
|
|
if not $_[2]->{class_resolver};
|
|
}
|
|
|
|
[% binding = definitions.find_binding( port.expand( port.get_binding ) );
|
|
FOREACH operation = binding.get_operation;
|
|
%][% INCLUDE Interface/Operation.tt %]
|
|
[%
|
|
|
|
END;
|
|
%]
|
|
|
|
1;
|
|
|
|
[% IF NO_POD; STOP; END %]
|
|
|
|
__END__
|
|
|
|
=pod
|
|
|
|
=head1 NAME
|
|
|
|
[% interface_name %] - SOAP Interface for the [% service.get_name %] Web Service
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
use [% interface_name %];
|
|
my $interface = [% interface_name %]->new();
|
|
|
|
my $response;
|
|
[% FOREACH operation = binding.get_operation;
|
|
%] $response = $interface->[% operation.get_name %]();
|
|
[% END %]
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
SOAP Interface for the [% service.get_name %] web service
|
|
located at [% port.first_address.get_location %].
|
|
|
|
=head1 SERVICE [% service.get_name %]
|
|
|
|
[% service.get_documentation %]
|
|
|
|
=head2 Port [% port.get_name %]
|
|
|
|
[% port.get_documentation %]
|
|
|
|
=head1 METHODS
|
|
|
|
=head2 General methods
|
|
|
|
=head3 new
|
|
|
|
Constructor.
|
|
|
|
All arguments are forwarded to L<SOAP::WSDL::Client|SOAP::WSDL::Client>.
|
|
|
|
=head2 SOAP Service methods
|
|
|
|
[% INCLUDE Interface/POD/method_info.tt %]
|
|
|
|
|
|
[% FOREACH operation = binding.get_operation;
|
|
%][% INCLUDE Interface/POD/Operation.tt %]
|
|
[% END %]
|
|
|
|
=head1 AUTHOR
|
|
|
|
Generated by SOAP::WSDL on [% PERL %]print scalar localtime() [% END %]
|
|
|
|
=pod |