#!/usr/bin/perl -w use strict; =head1 Simple SOAP TCP Server Simple SOAP TCP Server with test class (just to check things are working) Before you run this test server you will need some perl classes, namely: SOAP::Lite Hook::LexWrap (if you want to see some debugging) Flee off to the CPAN if you need them :) To run type 'perl ' and if you dont get any errors, it's time to go write some code to connect. =cut use SOAP::Transport::TCP qw(trace); use Data::Dumper; ############# ## if you want to see incoming/outgoing raw xml ## uncomment the following. #use Hook::LexWrap; #wrap *IO::SessionData::read, post => \&show_read; #wrap *IO::SessionData::write, post => \&show_write; ## ############# my $daemon = SOAP::Transport::TCP::Server->new( LocalAddr => '127.0.0.1', LocalPort => '82', Listen => 5, Reuse => 1 ); # dispatch $daemon->dispatch_to('SOAP_Example_Server'); $daemon->handle; ############# ## callback functions for Hook::LexWrap; ## # show incoming xml sub show_read { print $/,'## read ##',$/; print Dumper($_[0]); } # show outgoing xml sub show_write { print $/,'## write ##',$/; print Dumper($_[0]); } ################################################################################ ################################################################################ # SOAP_Example_Server # Simple test class, method test returns double what you send to it, thats all! ################################################################################ package SOAP_Example_Server; sub echoString { return $_[1] x 2; } 1;