Subject: | New bug in version 1.01 with RESTTransport.pm |
When attempting to create a new object of the type:
Net::Amazon::MechanicalTurk->new()
I am returned the following error:
Can't locate object method "new" via package
"Net::Amazon::MechanicalTurk::Transport::RESTTransport" at
/usr/local/share/perl/5.10.0/Net/Amazon/MechanicalTurk/Transport.pm line 21.
This is clearly because Transport.pm, which is invoked by
MechanicalTurk.pm, calls the "new" method on $module, where $module is
defined:
my $module =
"Net::Amazon::MechanicalTurk::Transport::${transport}Transport";
This is invoked from the following statement in MechanicalTurk.pm:
$self->setAttributesIfNotDefined(
transport => Net::Amazon::MechanicalTurk::Transport->create,
serviceName => "AWSMechanicalTurkRequester",
serviceVersion => $DEFAULT_SERVICE_VERSION,
serviceUrl => $SANDBOX_URL,
);
and as your notes state,
The default transport is of type
Net::Amazon::MechanicalTurk::Transport::RESTTransport.
So...Mechanical Turk calls upon Transport, with a default type of REST.
Transport call upon any module passed to it, with a default call of
"new", which RESTTransport does not have.
What baffles me is why this *isn't* failing in version 1.0. What
changed between versions 1.0 and 1.01?
Thanks,
Michele
Perl version 5.10
Unix server