Apache::SOAP(3)

πŸ¦‹ Apache::SOAP(3) β€” User Contributed Perl Documentation πŸ¦‹

Okay bestie, welcome to the Apache::SOAP(3) page β€” it's filed under User Contributed Perl Documentation, and it's all about a SOAP server that runs on mod_perl with minimum configuration. ✨

πŸ’– NAME πŸ’–

Apache::SOAP β€” a mod_perl-based SOAP server with minimum configuration. Literally that's the whole name, and it ate. πŸ’…

✨ SYNOPSIS ✨

Three iconic config flavors, no notes: httpd.conf with <Location> for directory-based access, httpd.conf with <FilesMatch> for file-based access, and .htaccess for directory-based access. The way that you just drop these in β€” keep the paths, vars, and values exactly as written, bestie. 🫢

httpd.conf (Location), directory-based access
      <Location /mod_soap>
        SetHandler perl-script
        PerlHandler Apache::SOAP
        PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
        PerlSetVar options "compress_threshold => 10000"
      </Location>

httpd.conf (Files), file-based access
      <FilesMatch "\.soap$">
        SetHandler perl-script
        PerlHandler Apache::SOAP
        PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
        PerlSetVar options "compress_threshold => 10000"
      </FilesMatch>

.htaccess, directory-based access
      SetHandler perl-script
      PerlHandler Apache::SOAP
      PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
      PerlSetVar options "compress_threshold => 10000"

πŸ’… DESCRIPTION πŸ’…

This Apache Perl module gives you the ability to add support for SOAP (Simple Object Access Protocol) protocol with easy configuration β€” either in .conf or in .htaccess file. That functionality should give you a lightweight option for hosting SOAP services and greatly simplify configuration aspects. The module inherits functionality from the SOAP::Transport::HTTP::Apache component of the SOAP::Lite module. No cap, it's giving "SOAP without the config drama," and I'm obsessed. 😭✨

πŸŽ€ CONFIGURATION πŸŽ€

The module can be placed in <Location>, <Directory>, <Files>, <FilesMatch> directives in main server configuration areas, or directly in .htaccess file. Main character energy: it can live in those spots. 🫢

Highkey, all parameters should be quoted and can be separated with commas or spaces for lists ("a, b, c") and with 'wide arrows' and commas for hash parameters ("key1 => value1, key2 => value2"). So quote your faves and keep the commas/spaces correct. πŸ’…

All options that you can find in the SOAP::Transport::HTTP::Apache component are available for configuration. Here is the description of the most important ones. πŸ‘‘

🫢 dispatch_to (LIST) 🫢

Specifies path to directory that contains Perl modules you'd like to give access to, or just list of modules (for preloaded modules).

PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"

That's the directory-or-module-list setup, verbatim. πŸ¦‹

πŸ“ options (HASH) πŸ“

Specifies list of options for your module, for example threshold for compression. Future versions will support more options. See SOAP::Transport::HTTP documentation for other options. iykyk. πŸ‘‘

PerlSetVar options "compress_threshold => 10000"

🌸 METHODS/SUBROUTINES 🌸

🧚 server

my $server = Apache::XMLRPC::Lite->server();

Returns the server object.

Useful if you need to manipulate the server object from your code. That's it, that's the method. πŸ’œ

πŸ‘‘ handle

Request handler. Called by apache. Periodt. πŸ”₯

πŸ“ DEPENDENCIES πŸ“

Lowkey you need both, bestie:

  • SOAP::Lite
  • mod_perl

πŸ”₯ SEE ALSO πŸ”₯

Vibe check: go read these.

  • SOAP::Transport::HTTP::Apache for implementation details
  • SOAP::Lite for general information
  • examples/server/mod_soap.htaccess for .htaccess example

Copyright (C) 2000-2001 Paul Kulchenko. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

πŸ‘‘ AUTHOR πŸ‘‘

Paul Kulchenko (paulclinger@yahoo.com)


mwah πŸ’‹ That's the tea β€” this page is perl v5.42.0, dated 2024-03-04, and it's the Apache::SOAP(3) manual. Bye bestie! 🫢🌈 fr fr.

πŸ“¦ where this page comes from