Hi,

I am trying my hand a SOAP::Lite and wanted some enlightenment.

I have created a test file (soaptest.pl) which acts as a server. 
soaptest has a subroutine called ReNameTiff which needs 2 arguments, 
a path to the original file and a new name for the file. Because 
SOAP::Lite is OO strange things seem to happen to the arguments that 
get passed to the subroutines I've made.

This is a snip of the client:

my $soap = SOAP::Lite
        -> uri('http://myserver/Images')
        -> proxy('http://myserver/soap/soaptest.pl')
        -> ReNameTiff("$path,$splnum"); 

my $res = $soap->result;
print STDERR "Result was $res\n";

In this example the args are quoted together and to access them I 
have to do split them like this:

        my $self = shift;
        my $args = shift;
        my ($path,$newname) = split(/,/,$args);
        print STDERR "Self=$self, Path=$path, NewName=$newname, 
[EMAIL PROTECTED] ARGS=$args\n";


This seems a bit loose and prone to error, what if the path had a 
comma in?

What is the correct way to pass arguments in OO? Is there a practise 
I am missing. The reading and examples I have seen still use shift so 
I think I am sending the args incorrectly but if I don't quote them 
only the first argument comes through.

Thanx,
Dp.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to