NAME
XML::Compile::SOAP::Daemon::CGI - CGI based server
INHERITANCE
XML::Compile::SOAP::Daemon::CGI
is a XML::Compile::SOAP::Daemon
SYNOPSIS
#### have a look in the examples directory!
use XML::Compile::SOAP::Daemon::CGI;
my $daemon = XML::Compile::SOAP::Daemon::CGI->new;
# initialize definitions from WSDL
my $wsdl = XML::Compile::WSDL11->new(...);
$wsdl->importDefinitions(...); # more schemas
$daemon->operationsFromWSDL($wsdl, callbacks => ...);
# per connected client
my $query = CGI->new;
$daemon->runCgiRequest(query => $query);
DESCRIPTION
This module handles the exchange of SOAP messages via Apache, using mod_perl and the popular Perl module CGI. Have a look at the examples/ directory, contained in the XML-Compile-SOAP-Daemon
distribution.
This abstraction level of the object (code in this pm file) is not concerned with parsing or composing XML, but only worries about the HTTP transport specifics of SOAP messages.
Extends "DESCRIPTION" in XML::Compile::SOAP::Daemon.
METHODS
Extends "METHODS" in XML::Compile::SOAP::Daemon.
Constructors
Extends "Constructors" in XML::Compile::SOAP::Daemon.
- XML::Compile::SOAP::Daemon::CGI->new(%options)
-
-Option --Defined in --Default accept_slow_select XML::Compile::SOAP::Daemon <true> output_charset XML::Compile::SOAP::Daemon 'UTF-8' soap_action_input XML::Compile::SOAP::Daemon {} wsa_action_input XML::Compile::SOAP::Daemon {} wsa_action_output XML::Compile::SOAP::Daemon {}
Attributes
Extends "Attributes" in XML::Compile::SOAP::Daemon.
- $obj->addSoapAction(HASH|PAIRS)
-
Inherited, see "Attributes" in XML::Compile::SOAP::Daemon
- $obj->addWsaTable( <'INPUT'|'OUTPUT'>, [HASH|PAIRS] )
-
Inherited, see "Attributes" in XML::Compile::SOAP::Daemon
- $obj->outputCharset()
-
Inherited, see "Attributes" in XML::Compile::SOAP::Daemon
Running the server
Extends "Running the server" in XML::Compile::SOAP::Daemon.
- $obj->process(%options)
-
Process the content of a single message. Not to be called directly.
-Option--Default nph <true>
- $obj->run(%options)
-
Used by runCgiRequest() to process a connection. Not to be called directly.
- $obj->runCgiRequest(%options)
-
-Option --Default postprocess undef query <created internally>
- postprocess => CODE
-
When defined, the CODE will get called with a HASH (containing %options and other compile information), a HASH of headers (which you may change), the HTTP return code, and a reference to the message body (which may be changed as well).
Be warned that the message body must be considered as bytes, so not as Latin1 or utf-8 string. You may wish to add or remove bytes. The Content-Length will be added to the headers after the call.
- query => <CGI object>
Preparations
Extends "Preparations" in XML::Compile::SOAP::Daemon.
- $obj->addHandler($name, $soap, CODE)
-
Inherited, see "Preparations" in XML::Compile::SOAP::Daemon
- $obj->operationsFromWSDL($wsdl, %options)
-
Inherited, see "Preparations" in XML::Compile::SOAP::Daemon
- $obj->setWsdlResponse( $filename, [$filetype] )
-
Inherited, see "Preparations" in XML::Compile::SOAP::Daemon
Helpers
Extends "Helpers" in XML::Compile::SOAP::Daemon.
- $obj->faultInvalidXML($error)
-
Inherited, see "Helpers" in XML::Compile::SOAP::Daemon
- $obj->faultNotSoapMessage($nodetype)
-
Inherited, see "Helpers" in XML::Compile::SOAP::Daemon
- $obj->faultUnsupportedSoapVersion($env_ns)
-
Inherited, see "Helpers" in XML::Compile::SOAP::Daemon
- $obj->handlers( <'SOAP11'|'SOAP12'|$soap> )
-
Inherited, see "Helpers" in XML::Compile::SOAP::Daemon
- $obj->printIndex( [$fh] )
-
Inherited, see "Helpers" in XML::Compile::SOAP::Daemon
- $obj->soapVersions()
-
Inherited, see "Helpers" in XML::Compile::SOAP::Daemon
DETAILS
Extends "DETAILS" in XML::Compile::SOAP::Daemon.
Operation handlers
Extends "Operation handlers" in XML::Compile::SOAP::Daemon.
Returning errors
Extends "Returning errors" in XML::Compile::SOAP::Daemon.
How to use the CGI module
The code and documentation for this module was contributed by Patrick Powell in December 2010. Both have seen major changes since.
Go to the examples/mod_perl/ directory which is included in the distribution of this module, XML::Compile::SOAP::Daemon. There you find a README describing the process.
Configuring Apache
Your virtual host may need something like this:
Options Indexes FollowSymLinks MultiViews
PerlHandler ModPerl::Registry
PerlOptions -ParseHeaders
AddHandler perl-script .cgi
Options +ExecCGI
Order allow,deny
Allow from all
SEE ALSO
This module is part of XML-Compile-SOAP-Daemon distribution version 3.15, built on December 23, 2022. Website: http://perl.overmeer.net/CPAN/
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 http://dev.perl.org/licenses/