stalkerxxl, спасибо, поправил.
Задачу решил — моя невнимательность. Включил «use SOAP::Lite;# qw(trace);», и увидел, что файл запроса уходит в непотребном виде.
SOAP::Data->name( 'requestFile' )->type("string")->value($req),
переделана в
SOAP::Data->name( 'requestFile' )->type("xsd:base64Binary")->value( encode_base64($req) ),
был введен в заблуждение тем обстоятельством, что код таки возвращался методом
sendRequest, хотя я предполагал ошибку, считая, что файл запроса и сигнатура сравниваются в методе
sendRequest. По всей видимости, сравнение идет при выполнении метода
getResult. В общем, с ног на голову перевернуто все…