When upgrade to SOAP-Lite-0.715 from SOAP-Lite-0.710, my online project encounter the following error when processing soap request.
Incorrect parameter at /usr/local/share/perl/5.10.1/SOAP/Lite.pm line 1994.
Total soap response is as following:
500 Internal Server Error
Content-Length: 529
Content-Type: text/xml; charset=utf-8
SOAPServer: SOAP::Lite/Perl/0.715
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Incorrect parameter at /usr/local/share/perl/5.10.1/SOAP/Lite.pm line 1994.
</faultstring></soap:Fault></soap:Body></soap:Envelope>
I don't quite understand the code in /usr/local/share/perl/5.10.1/SOAP/Lite.pm line 1994:
die "Incorrect parameter" unless $itself =~/^\d$/;
, while in version 0.710.10, corresponding line is as following:
die "Incorrect parameter" unless $itself =~ /^\d*$/;
I add a '*' to this line and everything is ok. But I wonder if this is a bug or a new feature.
Thank you for your reply.
The same error occurs when using GetExpressCheckoutDetails from the following:
http://search.cpan.org/~hembreed/Business-PayPal-API-0.69/lib/Business/PayPal/API/ExpressCheckout.pm#GetExpressCheckoutDetails
The same fix works like a charm.
Actually, this fix did not work for me in the long run. GetExpressCheckoutDetails would work and no longer crash on line 1993... but everything else basically stopped working in the Business::PayPal::API...
The proper fix was found here:
http://boards.developerforce.com/t5/Perl-PHP-Python-Ruby-Development/trouble-getting-started-with-Perl-WWW-Salesforce-Simple/td-p/484389
For me I changed the line as follows:
die "Incorrect parameter" unless $itself =~ /^\d+$/;
Note the + instead of ^. This works like a charm!
I ran into this same issue using RemoteBox v1.5 (http://remotebox.knobgoblin.org.uk/) and your fix worked fine.
(Just add ''+' between the 'd$')
We also experienced this problem, and worked around by rolling back to version 2.34.
Could the fix be put in CPAN please?
This is fixed in https://github.com/redhotpenguin/soaplite/commit/086aa7cf66417832e9094bbef5369e39810ea14e and version 0.716.
Michiel, do you know if the CPAN maintainer can update with the fixed version? Thank you.
The fix IS already on cpan, since version 0.716, which was released in May.
Thank you!