[% USE XSD -%] [% interface_name = XSD.create_interface_name(service, port) -%] 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 [% XSD.create_typemap_name(service) %] if not [% XSD.create_typemap_name(service) %]->can('get_class'); sub START { $_[0]->set_proxy('[% port.first_address.get_location %]') if not $_[2]->{proxy}; $_[0]->set_class_resolver('[% XSD.create_typemap_name(service) %]') 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__ [%# work around for CPAN's indexer, which gets disturbed by pod in templates -%] [% pod = BLOCK %]=pod[% END -%] [% head1 = BLOCK %]=head1[% END -%] [% head2 = BLOCK %]=head2[% END -%] [% head3 = BLOCK %]=head3[% 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. [% 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 %] =cut