use POE;
use POE::Component::Server::SOAP;
POE::Component::Server::SOAP->new(
'ALIAS' => 'MySOAP',
'ADDRESS' => 'localhost',
'PORT' => 32080,
);
POE::Session->create(
'inline_states' => {
'_start' => \&setup_service,
'_stop' => \&shutdown_service,
'hi' => \&hi,
},
);
$poe_kernel->run;
exit 0;
sub setup_service {
my $kernel = $_[KERNEL];
$kernel->alias_set( 'Demo' );
$kernel->post( 'MySOAP', 'ADDMETHOD', 'Demo', 'hi' );
}
sub shutdown_service {
$_[KERNEL]->post( 'MySOAP', 'DELMETHOD', 'Demo', 'hi');
}
sub hi {
my $response = $_[ARG0];
my $params = $response->soapbody;
$response->content( "Hello" );
$_[KERNEL]->post( 'MySOAP', 'DONE', $response );
}
1;
####
Hello
####
#!/usr/bin/perl
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
->dispatch_to('Demo')
->handle;
package Demo;
sub hi {
return 'Hello';
}
1;
####
Hello