use SOAP::Transport::HTTP;
my $server = new SOAP::Transport::HTTP::CGI
->serializer(MySerializer->new)
->dispatch_to('Demo')
->handle();
BEGIN {
package MySerializer;
@MySerializer::ISA = qw/SOAP::Serializer/;
sub envelope {
$_[2] = SOAP::Data->name($_[2])->uri($_[0]->uri()) if $_[1] =~ /^(?:method|response)$/;
shift->SUPER::envelope(@_);
}
}
package Demo;
use SOAP::Lite;
sub hi {
return 'Hello';
}
####
Order Deny,Allow
SetHandler perl-script
PerlHandler SOAP::Apache
####
package MySerializer;
@MySerializer::ISA = qw/SOAP::Serializer/;
sub envelope {
$_[2] = SOAP::Data->name($_[2])->uri($_[0]->uri()) if $_[1] =~ /^(?:method|response)$/;
shift->SUPER::envelope(@_);
}
package SOAP::Apache;
use SOAP::Transport::HTTP;
my $server = SOAP::Transport::HTTP::Apache
->serializer(MySerializer->new)
-> dispatch_to(... ... ...);
sub handler { $server->handler(@_) }
1;