Hello,
What I did was read the books Programming Web Services with SOAP and Programming Web Services with Perl. Cover to cover those books and you'll be all set.
Here is a bit of code to get you started. You'll need to install the RPC::XML and SOAP::Lite distros.
It is not SOAP, it is XMLRPC. But if you read the books above, you'll see that XMLRPC is just a subset of SOAP. Be sure to run the client with LWP::Debug turned on so you see the HTTP request/response cycle.
On machine A:
$ cat server.pl
use warnings;
use strict;
use RPC::XML::Server;
my $server = RPC::XML::Server->new(port => 9000);
$server->add_method({
name => 'test.hello',
signature => [ q|string string| ],
help => 'this method greets an argument... cool, huh?',
code => sub {
my($server, $str) = @_;
return( "Hello, $str!" );
}
});
print "listening on port 9000\n";
$server->server_loop;
[trwww@waveright rpc]$ perl server.pl
listening on port 9000
On Machine X:
$ XMLRPCsh.pl http://localhost:9000/
Usage: method[(parameters)]
> system.listMethods('test')
--- XMLRPC RESULT ---
[
'test.hello'
]
> system.methodHelp('test.hello')
--- XMLRPC RESULT ---
'this method greets an argument... cool, huh?'
> system.methodSignature('test.hello')
--- XMLRPC RESULT ---
[
[
'string',
'string'
]
]
> test.hello('perlmonks')
--- XMLRPC RESULT ---
'Hello, perlmonks!'
regards,
trwww
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.