NAME

XML::Compile::SOAP::Daemon::LWPutil - LWP helper routines

INHERITANCE

XML::Compile::SOAP::Daemon::LWPutil
  is a Exporter

SYNOPSIS

# used by ::Daemon::NetServer
#     and ::Daemon::AnyDaemon

FUNCTIONS

lwp_action_from_header(REQUEST)

Collect the soap action URI from the request, with undef on failure. Officially, the "SOAPAction" has no other purpose than the ability to route messages over HTTP: it should not be linked to the portname of the message (although it often can).

lwp_add_header(FIELD, CONTENT, ...)
lwp_handle_connection(CONNECTION, OPTIONS)
lwp_make_response(REQUEST, RC, MSG, BODY, [POSTPROC])
lwp_run_request(REQUEST, HANDLER, [CONNECTION, POSTPROC])

Handle one REQUEST (HTTP::Request object), which was received from the CLIENT (string). When the request has been received, the HANDLER is called. Returns the status, the status as text message, and the output as XML::LibXML::Document.

lwp_wsdl_response([WSDLFILE|RESPONSE])

Set the result of WSDL query responses, either to a response which is created internally containing WSDLFILE, or to an already complete RESPONSE object (HTTP::Response). The response object is returned.

DETAILS

Postprocessing responses

The LWP based daemons provide a postprocess option to their run() methods. The parameter is a CODE reference.

When defined, the CODE is called when the response message is ready to be returned to the client:

$code->($request, $response, $status, \$body)

The source $requests is passed as first parameter. The $response is an HTTP::Response object, with all headers but without the body. The $status is the result code of the handler. A value of 200 (HTTP_OK from HTTP::Status) indicates successful processing of the request. When the status is not HTTP_OK you may skip the postprocessing.

The $body are the bytes which will be added as body to the response after this postprocessing has been done. You may change the body. Be warned that the body is not a (latin1 or utf-8) string but already encoded into a byte string.

SEE ALSO

This module is part of XML-Compile-SOAP-Daemon distribution version 3.01, built on February 13, 2012. Website: http://perl.overmeer.net/xml-compile/

Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite, XML::eXistDB, 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-2012 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