I am not getting that error. Hmmm... What version of perl are you using? SOAP::Lite? I did a quick search and found this:
hi,
i posted this message to the yahoo group about soap, but i thought i
+'d cover
all the bases. here's my posted mesg:
After using SOAP::Lite with Perl 5.6.1, I discovered a bug in the
software. the problem seems to be with the regex engine and the
lines:
$_[0] =~ /^(\w+):/ or die "proxy: transport protocol not specified\n
+";
my $protocol = uc $1; # untainted now
the problem is that the $1 appears to be interpolated in the wrong
context. the uc call ends up being AUTOLOAD'ed and calling
proxy->ToUpper from the utf8_heavy library. I must confess ignorance
as to why this occurs, but here's a super easy patch that will solves
the problem for 5.6.1 and will work in 5.005 versions too:
it's just wrapping the $1 in a join() to force string context.
--- Lite.pm.orig Wed Jun 27 13:28:08 2001
+++ Lite.pm.new Wed Jun 27 15:50:14 2001
@@ -120,7 +120,8 @@
return $self->{_proxy} unless @_;
$_[0] =~ /^(\w+):/ or die "proxy: transport protocol not specified\
+n";
- my $protocol = uc $1; # untainted now
+ ## need to join $1 to force string context in 5.6.1
+ my $protocol = uc(join("",$1)); # untainted now
# https: should be done through Transport::HTTP.pm
for ($protocol) { s/^HTTPS$/HTTP/ }
Cheers
dave viner
|