NAME
XML::Compile::SOAP::Daemon::PSGI - PSGI based application
INHERITANCE
XML::Compile::SOAP::Daemon::PSGI
is a XML::Compile::SOAP::Daemon
XML::Compile::SOAP::Daemon::PSGI
is a Plack::Component
SYNOPSIS
#### have a look in the examples directory!
use XML::Compile::SOAP::Daemon::PSGI;
my $daemon = XML::Compile::SOAP::Daemon::PSGI->new;
# initialize definitions from WSDL
my $wsdl = XML::Compile::WSDL11->new(...);
$wsdl->importDefinitions(...); # more schemas
$daemon->operationsFromWSDL($wsdl, callbacks => ...);
# generate PSGI application
my $app = $daemon->to_app;
$app;
DESCRIPTION
This module handles the exchange of SOAP messages via PSGI stack, using Plack toolkit. This module was contributed by Piotr Roszatycki.
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.
See documentation in the base class.
METHODS
See documentation in the base class.
Constructors
See documentation in the base class.
- XML::Compile::SOAP::Daemon::PSGI->new(OPTIONS)
-
-Option --Defined in --Default accept_slow_select XML::Compile::SOAP::Daemon <true> output_charset XML::Compile::SOAP::Daemon 'UTF-8' postprocess undef preprocess undef soap_action_input XML::Compile::SOAP::Daemon {} wsa_action_input XML::Compile::SOAP::Daemon {} wsa_action_output XML::Compile::SOAP::Daemon {}
- accept_slow_select => BOOLEAN
- output_charset => STRING
- postprocess => CODE
-
When defined, the CODE will get called with a Plack::Request and Plack::Response objects after processing SOAP message.
- preprocess => CODE
-
When defined, the CODE will get called with a Plack::Request object before processing SOAP message.
- soap_action_input => HASH|ARRAY
- wsa_action_input => HASH|ARRAY
- wsa_action_output => HASH|ARRAY
Attributes
See documentation in the base class.
- $obj->addSoapAction(HASH|PAIRS)
- $obj->addWsaTable(('INPUT'|'OUTPUT'), [HASH|PAIRS])
- $obj->outputCharset()
Running the server
See documentation in the base class.
- $obj->call(ENV)
-
Process the content of a single message. Not to be called directly.
- $obj->process(CLIENT, XMLIN, REQUEST, ACTION)
- $obj->run(OPTIONS)
-
The same as to_app but accepts additional preprocess and postprocess options.
- $obj->to_app()
-
Converts the server into a PSGI
$app
.
Preparations
See documentation in the base class.
- $obj->addHandler(NAME, SOAP, CODE)
- $obj->operationsFromWSDL(WSDL, OPTIONS)
- $obj->setWsdlResponse(FILENAME, [FILETYPE])
Helpers
See documentation in the base class.
- $obj->faultInvalidXML(ERROR)
- $obj->faultNotSoapMessage(NODETYPE)
- $obj->faultUnsupportedSoapVersion(ENV_NS)
- $obj->handlers(('SOAP11'|'SOAP12'|SOAP))
- $obj->printIndex([FILEHANDLE])
- $obj->soapVersions()
DETAILS
See documentation in the base class.
Operation handlers
See documentation in the base class.
Returning errors
See documentation in the base class.
How to use the PSGI module
The code and documentation for this module was contributed by Piotr Roszatycki in March 2012.
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.
SEE ALSO
This module is part of XML-Compile-SOAP-Daemon distribution version 3.07, built on January 06, 2014. Website: http://perl.overmeer.net/xml-compile/
Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::WSDL11, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite and XML::LibXML::Simple.
Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile . For live contact with other developers, visit the #xml-compile
channel on irc.perl.org
.
LICENSE
Copyrights 2007-2014 by [Mark Overmeer]. 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://www.perl.com/perl/misc/Artistic.html