1# ====================================================================== 2# 3# Copyright (C) 2000-2001 Paul Kulchenko (paulclinger@yahoo.com) 4# SOAP::Lite is free software; you can redistribute it 5# and/or modify it under the same terms as Perl itself. 6# 7# $Id: SOAP.pm,v 1.3 2006/08/02 15:55:38 rkobes Exp $ 8# 9# ====================================================================== 10 11package Apache2::SOAP; 12 13use strict; 14use vars qw(@ISA $VERSION); 15use SOAP::Transport::HTTP2; 16 17@ISA = qw(SOAP::Transport::HTTP2::Apache); 18#$VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name: $ =~ /-(\d+)_([\d_]+)/); 19$VERSION = 0.73; 20 21my $server = __PACKAGE__->new; 22 23sub handler { 24 $server->configure(@_); 25 $server->SUPER::handler(@_); 26} 27 28# ====================================================================== 29 301; 31 32__END__ 33 34=head1 NAME 35 36Apache2::SOAP - mod_perl-2 SOAP server 37 38=head1 SYNOPSIS 39 40=over 4 41 42=item httpd.conf (Location), directory-based access 43 44 <Location /mod_soap> 45 SetHandler perl-script 46 PerlResponseHandler Apache2::SOAP 47 PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method" 48 PerlSetVar options "compress_threshold => 10000" 49 </Location> 50 51=item httpd.conf (Files), file-based access 52 53 <FilesMatch "\.soap$"> 54 SetHandler perl-script 55 PerlResponseHandler Apache2::SOAP 56 PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method" 57 PerlSetVar options "compress_threshold => 10000" 58 </FilesMatch> 59 60=item .htaccess, directory-based access 61 62 SetHandler perl-script 63 PerlResponseHandler Apache2::SOAP 64 PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method" 65 PerlSetVar options "compress_threshold => 10000" 66 67=back 68 69=head1 DESCRIPTION 70 71This Apache Perl module provides the ability to add support for SOAP (Simple 72Object Access Protocol) protocol with easy configuration (either in .conf or 73in .htaccess file). This functionality should give you lightweight option 74for hosting SOAP services and greatly simplify configuration aspects. This 75module inherites functionality from SOAP::Transport::HTTP2::Apache component 76of SOAP::Lite module. 77 78=head1 CONFIGURATION 79 80The module can be placed in <Location>, <Directory>, <Files>, <FilesMatch> 81directives in main server configuration areas or directly in .htaccess file. 82 83All parameters should be quoted and can be separated with commas or spaces 84for lists ("a, b, c") and with 'wide arrows' and commas for hash parameters 85("key1 => value1, key2 => value2"). 86 87All options that you can find in SOAP::Transport::HTTP2::Apache component 88are available for configuration. Here is the description of most important 89ones. 90 91=over 4 92 93=item dispatch_to (LIST) 94 95Specifies path to directory that contains Perl modules you'd like to give 96access to, or just list of modules (for preloaded modules). 97 98 PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method" 99 100=item options (HASH) 101 102Specifies list of options for your module, for example threshold for 103compression. Future versions will support more options. See 104SOAP::Transport::HTTP2 documentation for other options. 105 106 PerlSetVar options "compress_threshold => 10000" 107 108=back 109 110=head1 DEPENDENCIES 111 112 SOAP::Lite 113 mod_perl2 114 115=head1 SEE ALSO 116 117 SOAP::Transport::HTTP2::Apache for implementation details, 118 SOAP::Lite for general information, and 119 F<examples/server/mod_soap.htaccess> for .htaccess example 120 121=head1 COPYRIGHT 122 123Copyright (C) 2000-2001 Paul Kulchenko. All rights reserved. 124 125This library is free software; you can redistribute it and/or modify 126it under the same terms as Perl itself. 127 128=head1 AUTHOR 129 130Paul Kulchenko (paulclinger@yahoo.com) 131 132Changes for mod_perl 2 supplied by 133Randy Kobes (r.kobes@uwinnipeg.ca). 134 135=cut 136