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