Мне тоже потребовалось время, чтобы получить это:
WSDL - страница определения веб-службы (lang), на которой SOAP может читать стандартный формат всех функций / классов, доступных на сервере.и как с ними разговаривать.В основном файл заголовка.
URI - страница определения класса, так что вы можете написать класс сервера SOAP, а затем передать его сотням людей, и каждый сможет указать на один и тот же файл определения, чтобы при обновлении всехКлиентам SOAP не нужно ничего обновлять
PROXY - фактическая реализация класса URI, обычно написанная на wsdl.Это страница, с которой вы на самом деле подключаетесь и общаетесь.
Вот почему вам нужен прокси и URI для подключения к сервису SOAP - определение и реальный сервер.Что касается Perl-кода,
my $cli = SOAP::Lite->proxy('proxyurl')->uri('uriurl');
my $call_return_obj = $cli->somefunc('hello');
if ($call_return_obj->faultstring ne '')
{
print "somethin bad happened: ".$call_return_obj->faultstring."\n";
}
else
{
my $resultstruct = $call_return_obj->results;
}
Тогда это становится еще сложнее.Вложенные типы выражаются как указатели на массивы / хэши, заполненные большим количеством указателей других массивов или хэшей, только последние уровни массивов / хэшей могут содержать в себе фактические значения.Вот так они и возвращаются из SOAP :: Lite.