We offer a simple SOAP API via SOAP::Transport::HTTP::CGI, which is accessed from clients written in different languages. A client based on Python/SOAPpy triggers an error within SOAP::Lite:
Can't use string ("as_base64Binary") as a subroutine ref while "strict refs" in use at /somepath/SOAP/Lite.pm line 1159
Issuing the same request using SOAP::Lite itself works perfectly. After putting a "no strict 'refs'" at the top of SOAP::Serializer::encode_scalar the request also works from SOAPpy. Is this a correct fix? Or is there a deeper problem I'm not seeing?
This problem is reproducible here with SOAP::Lite 0.67 and SOAP::Lite 0.69, both on Perl 5.8.4, Debian GNU/Linux.