|
what version of SOAP::Lite are you using? in 0.69 line 429 is
sub splitlongname { local($1,$2); $_[0] =~ /^(?:\{(.*)\})?(.+)$/; return ($1,$2) }
I tried this on my windows box and seemed to run OK once I fixed a few things to actually do what you want it to do. I did not get your mis-match error at all?
changes to your server code, I can not remember how to get away without the uri#action like notation at the moment
die "SOAPAction should be \"http://soapinterop.org/\"\n"
unless $_[0] eq '"http://soapinterop.org/#echoString"';
the logic in your code would change everything to uppercase.
if ($inputString =~ m/[A-Z]/) {
$inputString =~ tr/A-Z/a-z/
} elsif ( $inputString =~ m/[a-z]/ ) {
$inputString =~ tr/a-z/A-Z/
}
this is what I tested with
my $result = SOAP::Lite
-> uri('http://soapinterop.org/')
-> proxy('http://localhost:8888/')
-> echoString('THIS IS GREAT');
unless ($result->fault) {
print $result->result();
} else {
print join ', ', $result->faultcode, $result->faultstring;
}
print "\n";
print SOAP::Lite
-> uri('http://soapinterop.org/')
-> proxy('http://localhost:8888/')
-> echoString('this is great')
-> result;
you may find some more details here http://www.soaplite.com/
cheers Michael
|