Perl:SOAP WSDL

Материал из KLUG
Перейти к: навигация, поиск

Пример работы с wsdl-сервисом


#!/usr/bin/perl
use strict;
use warnings;
use SOAP::Lite; # здесь мы используем магическую руну
use Data::Dumper;

my $service_url = "https://example.com:443/api/soap/index.php?wsdl"; # расположение нашего wsdl-документа
my $proxy_url = "https://example.com:443/api/soap/index.php";

my $soap = SOAP::Lite->new();
$soap->service($service_url) or die ( 'Can not get SOAP object' ); # этот этап вызывается 1 раз. по wsdl документу генерируются методы (генерируется код и исполняется) 
$soap->proxy($proxy_url);
my $som = $soap->call('sayHello', 'Kutter'); # обращаемся к сервису, метод sayHello

die ( $som -> faultstring ( ) ) if ( $som -> fault ( ) ) ; # проверка, все ли хорошо

my ( @result ) = $som -> result ( ) or die ( 'No result' ) ; # полученный результат помещается в массив

print "\n\n\n";

print Dumper(@result);

То же самое, но одним заклинанием:

perl -MSOAP::Lite -e 'print SOAP::Lite->service("file:downloaded.wsdl")->sayHello("Kutter"), "\n";'
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты