SOAP::Transport::HTTP::Apache man page on OpenServer

Man page or keyword search:  
man Server   5388 pages
apropos Keyword Search (all sections)
Output format
OpenServer logo
[printable version]

SOAP::Transport::HTTP:UsercContributed Perl DoSOAP::Transport::HTTP::Apache(3)

NAME
       SOAP::Transport::HTTP::Apache - SOAP mod_perl handler

SYNOPSIS
       Use this class to expose SOAP endpoints using Apache and mod_perl.
       Here's an example of a class that would like to receive SOAP packets.
       Note that it implements a single interesting function, handle_request,
       that takes there arguments: an array of headers, a body, and an
       EnvelopeMaker for creating the response:

	   package Calculator;
	   use strict;

	   sub new {
	       bless {}, shift;
	   }

	   sub handle_request {
	       my ($self, $headers, $body, $envelopeMaker) = @_;

	       $body->{extra_stuff} = "heres some extra stuff";

	       foreach my $header (@$headers) {
		   $header->{extra_stuff} = "heres some more extra stuff";
		   $envelopeMaker->add_header(undef, undef, 0, 0, $header);
	       }
	       $envelopeMaker->set_body(undef, 'myresponse', 0, $body);
	   }

	   1;

       In order to translate HTTP requests into calls on your Calculator class
       above, you'll need to write an Apache handler. This is where you'll use
       the SOAP::Transport::HTTP::Apache class:

	   package ServerDemo;
	   use strict;
	   use SOAP::Transport::HTTP::Apache;

	   sub handler {
	       my $safe_classes = {
		   Calculator => undef,
	       };
	     SOAP::Transport::HTTP::Apache->handler($safe_classes);
	   }

       1;

       As you can see, this class basically does it all - parses the HTTP
       headers, reads the request, and sends a response. All you have to do is
       specify the names of classes that are safe to dispatch to.

       Of course, in order to tell Apache about your handler class above,
       you'll need to modify httpd.conf. Here's a simple example that shows
       how to set up an endpoint called "/soap" that maps to your ServerDemo
       handler above:

	   <Location /soap>
	       SetHandler perl-script
	       PerlHandler ServerDemo
	   </Location>

       (I leave it up to you to make sure ServerDemo is in Perl's @INC path -
       see Writing Apache Modules with Perl and C by O'Reilly for help with
       mod_perl, or just man mod_perl)

DESCRIPTION
       This class encapsulates the details of hooking up to mod_perl, and then
       calls SOAP::Transport::HTTP::Server to do the SOAP-specific stuff. This
       way the Server class can be reused with any web server configuration
       (including CGI), by simply composing it with a different front-end (for
       instance, SOAP::Transport::HTTP::CGI).

       handler(SafeClassHash, OptionalDispatcher)

       This is the only method on the class, and you must pass a hash refer-
       ence whose keys contain the collection of classes that may be invoked
       at this endpoint. If you specify class FooBar in this list, for
       instance, and a client sends a SOAP request to http://yours-
       erver/soap?class=FooBar, then the SOAP::Transport::HTTP::Server class
       will eventually attempt to load FooBar.pm, instatiate a FooBar, and
       call its handle_request function (see SOAP::Transport::HTTP::Server for
       more detail). If you don't include a class in this hash, SOAP/Perl
       won't run it. I promise.

       By the way, only the keys in this hash are important, the values are
       ignored.

       Also, nothing is stopping you from messing around with the request
       object yourself if you'd like to add some headers or whatever; you can
       always call Apache->request() to get the request object inside your
       handle_request function. Just make sure you finish what you're doing
       before you return to SOAP::Transport::HTTP::Server, because at that
       point the response is marshaled and sent back.

       See SOAP::Transport::HTTP::Server for a description of the OptionalDis-
       patcher argument.

DEPENDENCIES
       SOAP::Transport::HTTP::Server

AUTHOR
       Keith Brown

perl v5.8.8			  2000-09-05  SOAP::Transport::HTTP::Apache(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OpenServer

List of man pages available for OpenServer

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net