198096б г. Санкт-Петербург, а/я 61
Тел.: +7 (812) 335-77-33 (договорной отдел)
Тел: + 7 (8617) 67-76-65 (договорной отдел)
email: office@rlisystems.ru (общие вопросы)
Сайт: www.rlisystems.ru
qrcode

Пример использования на Perl

Данный пример показывает, как получить печатное представление документа учета по номеру контейнера

Copyright (c) 2000 ООО РОЛИС Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, а также лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА УЩЕРБ ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, В ТОМ ЧИСЛЕ, ПРИ ДЕЙСТВИИ КОНТРАКТА, ДЕЛИКТЕ ИЛИ ИНОЙ СИТУАЦИИ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

#!/usr/bin/perl

use SOAP::Lite;
use
Unicode::MapUTF8 qw(to_utf8 from_utf8 utf8_supported_charset);
use
MIME::Base64;

my $user = "Your_login";
my $password = "Your_password";

sub  SOAP::Transport::HTTP::Client::get_basic_credentials {
  return (
$user => $password)
}


my $service = SOAP::Lite
    
-> service('https://www.rlisystems.ru/TestServices/wsdl/RlisystemsServicesSOAP.wsdl');

my @TerminalList = ${service->TerminalList()};
my $TerminalsCount = @TerminalList;

print
"Total terminals: " . $TerminalsCount . "\n";
foreach
my $Terminal (@TerminalList)
{
    print
"TerminalCode: " . $Terminal->{"TerminalCode"}  . "\t";
    print
"Terminal Name: " . from_utf8({ -string => $Terminal->{"TerminalName"}, -charset => 'KOI8-R' }) . "\n";
}

my $TerminalCode = @TerminalList[0]->{"TerminalCode"};
my $TerminalName = from_utf8({ -string => @TerminalList[0]->{"TerminalName"}, -charset => 'KOI8-R' });
my $ContainerNumber = "ABCD1234567";

print
"List of TDU's for container " . $ContainerNumber . " on first terminal in list (" . $TerminalName . ")\n";

my $params = { TerminalCode => $TerminalCode, SearchString => $ContainerNumber };

my $TerminalCodeParam = SOAP::Data
        
-> type ("int")
        ->
name ("TerminalCode")
        ->
value ($TerminalCode);
my $ContainerNumberParam =  SOAP::Data
        
-> type ("string")
        ->
name ("SearchString")
        ->
value ($ContainerNumber);

my @TDUInfoList = $service->TDUInfoList($TerminalCodeParam, $ContainerNumberParam);

my $TDUCount = @TDUInfoList;

print
"Total TDU's: " . $TDUCount . "\n";

if (
$TDUCount>0)
{
    foreach
my $TDUInfo (@TDUInfoList)
    {
            print
"TDUCode: " . $TDUInfo->{"TDUCode"} . "\t";
        print
"TDUNumber: " . $TDUInfo->{"TDUNumber"} . "\t";
        print
"TDUDate: " . $TDUInfo->{"TDUDate"} . "\t";
        print
"ContainerNumber: " . $TDUInfo->{"ContainerNumber"} . "\n";
    }

    
my $TDUCode = @TDUInfoList[0]->{"TDUCode"};
    print
"Retriving TDU's number " . @TDUInfoList[0]->{"TDUNumber"} . " on first terminal in list (" . $TerminalName . ")\n";

    
my $TDUCodeParam = SOAP::Data
            
-> type ("int")
            ->
name ("ItemCode")
            ->
value ($TDUCode);

    
my ($ContentType,$Data) = $service->TDURepresentation($TerminalCodeParam,$TDUCodeParam);

    print
"Content-Type: " . $ContentType . "\n";
    
    
my $Data = decode_base64($Data);
    
my $FileName = "Test.pdf";

    
open DATA,">$FileName";
    
binmode(DATA);
    print
DATA $Data;
    
close DATA;
    
    print
"Data saved as file: " . $FileName . "\n";
}
else
{
    print
"No TDU's found. \n";
}