=encoding utf8

=head1 NAME

XML::Compile::SOAP::Extension - plugins for standards

=head1 INHERITANCE

 XML::Compile::SOAP::Extension is extended by
   XML::Compile::SOAP::WSA
   XML::Compile::Transport

=head1 SYNOPSIS

 # only as base-class

=head1 DESCRIPTION

This module defines hooks which are used to implement the SOAP and
WSDL extensions. Hooks are created on critial spots, where additional
standards play tricks with the logic of SOAP and WSDL. There are a
lot of those standards, for instance Web Service Addressing (WSA,
L<XML::Compile::SOAP::WSA|XML::Compile::SOAP::WSA>)

=head1 METHODS

=head2 Constructors

=over 4

=item XML::Compile::SOAP::Extension-E<gt>B<new>(%options)

=back

=head2 WSDL11

=over 4

=item $obj-E<gt>B<wsdl11Init>($wsdl, $args)

=item XML::Compile::SOAP::Extension-E<gt>B<wsdl11Init>($wsdl, $args)

Do not use this hook for adding WSDLs or schemas, unless those are
used to interpret $wsdl or SOAP files correctly.

=back

=head2 SOAP11

=over 4

=item $obj-E<gt>B<soap11ClientWrapper>($operation, $call, $args)

=item $obj-E<gt>B<soap11HandlerWrapper>($operation, $callback, $args)

Called before the handler is created, to influence the encoder and
decoder. Returned is a wrapped callback, or the same.

=item $obj-E<gt>B<soap11OperationInit>($operation, $args)

=item XML::Compile::SOAP::Extension-E<gt>B<soap11OperationInit>($operation, $args)

$args is a reference.

=back

=head2 SOAP12

=over 4

=item $obj-E<gt>B<soap12ClientWrapper>($operation, $call, $args)

=item $obj-E<gt>B<soap12HandlerWrapper>($operation, $callback, $args)

Called before the handler is created, to influence the encoder and
decoder. Returned is a wrapped callback, or the same.

=item $obj-E<gt>B<soap12OperationInit>($operation, $args)

=item XML::Compile::SOAP::Extension-E<gt>B<soap12OperationInit>($operation, $args)

$args is a reference.

=back

=head1 SEE ALSO

This module is part of XML-Compile-SOAP distribution version 3.28,
built on August 01, 2022. Website: F<http://perl.overmeer.net/CPAN/>

=head1 LICENSE

Copyrights 2007-2022 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://dev.perl.org/licenses/>

