Subject: | eBay-API-0.25 Bug |
Date: | Wed, 16 Sep 2009 13:53:17 +0100 |
To: | bug-eBay-API [...] rt.cpan.org |
From: | Antonio Barone <abarone [...] venda.com> |
Hi,
I believe I have found a bug in your module:
* Distribution name and version: eBay-API-0.25
* Perl version: v5.8.8
* Operating System vendor and version: Linux dev 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 i686 i386 GNU/Linux
Error Message:
Not an ARRAY reference at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/CallRetry.pm line 289.
at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/CallRetry.pm line 289
eBay::API::XML::CallRetry::shouldRetry('eBay::API::XML::CallRetry=HASH(0x105cfbe0)', 'raErrors', 'eBay::API::XML::DataType::ErrorType=HASH(0x104af824)') called at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/BaseCall.pm line 275
eBay::API::XML::BaseCall::_submitHttpRequest('eBay::API::XML::Call::CompleteSale=HASH(0x104a81d8)', 'LWP::UserAgent=HASH(0x10638108)', 'HTTP::Request=HASH(0x104e9f4c)') called at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/BaseCall.pm line 169
eBay::API::XML::BaseCall::execute('eBay::API::XML::Call::CompleteSale=HASH(0x104a81d8)') called at ..
Description:
eBay::API::XML::BaseCall::getErrorsAndWarnings(),
returns either a reference to an array or an array depending on the context it is called in.
At line 275 eBay/API/XML/BaseCall.pm, it is called in list context, therefore it returns an array
and not an arrayref as expected.
Please find attached a patch that seems to fix the issue.
Hope it helps
Antonio
I believe I have found a bug in your module:
* Distribution name and version: eBay-API-0.25
* Perl version: v5.8.8
* Operating System vendor and version: Linux dev 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 i686 i386 GNU/Linux
Error Message:
Not an ARRAY reference at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/CallRetry.pm line 289.
at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/CallRetry.pm line 289
eBay::API::XML::CallRetry::shouldRetry('eBay::API::XML::CallRetry=HASH(0x105cfbe0)', 'raErrors', 'eBay::API::XML::DataType::ErrorType=HASH(0x104af824)') called at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/BaseCall.pm line 275
eBay::API::XML::BaseCall::_submitHttpRequest('eBay::API::XML::Call::CompleteSale=HASH(0x104a81d8)', 'LWP::UserAgent=HASH(0x10638108)', 'HTTP::Request=HASH(0x104e9f4c)') called at /export/www/code/HEAD/venda-tests/../venda-siteperl/eBay/API/XML/BaseCall.pm line 169
eBay::API::XML::BaseCall::execute('eBay::API::XML::Call::CompleteSale=HASH(0x104a81d8)') called at ..
Description:
eBay::API::XML::BaseCall::getErrorsAndWarnings(),
returns either a reference to an array or an array depending on the context it is called in.
At line 275 eBay/API/XML/BaseCall.pm, it is called in list context, therefore it returns an array
and not an arrayref as expected.
Please find attached a patch that seems to fix the issue.
Hope it helps
Antonio
--- eBay-API-0.25/lib/eBay/API/XML/BaseCall.pm~ 2009-07-06 10:28:32.000000000 +0100
+++ eBay-API-0.25/lib/eBay/API/XML/BaseCall.pm 2009-09-16 10:27:43.000000000 +0100
@@ -272,10 +272,11 @@
$exitLoop = _TRUE_;
} else {
+ my $errors = $self->getErrorsAndWarnings();
my $shouldRetry = $pCallRetry->shouldRetry(
# ref to an array of ErrorDataType objects
# check out both, errors and warnings
- 'raErrors' => $self->getErrorsAndWarnings()
+ 'raErrors' => $errors,
);
if ( $shouldRetry ) {