Perl: как исправить пример SOAP :: Lite delcampe-api-client? - PullRequest
1 голос
/ 01 февраля 2012

Здесь http://code.google.com/p/delcampe-api-client/wiki/Info#Perl - это пример кода delcampe-api-client в Perl. Очевидно, есть синтаксическая ошибка, запустив полученный код:

syntax error at test.pl line 9, near "-> service"
Bareword "SOAP::Lite" not allowed while "strict subs" in use at test.pl line 8.
Execution of test.pl aborted due to compilation errors.

Если я изменю код на немного более значимый для меня, например:

#!/usr/bin/perl

use SOAP::Lite;
use SOAP::WSDL;
use strict;
use warnings;

my $service = new SOAP::Lite;
print $service
    ->uri('http://api.delcampe.net/soap.php?wsdl')
    ->getServerTime()
    ->result;

Я получил:

A service address has not been specified either by using SOAP::Lite->proxy() or a service description)

Что не так с этим кодом? Какой прокси? Описание услуги?

[Если вы думаете, у меня нет опыта работы с SOAP, вы, безусловно, правы. Тем не менее, как заставить этот маленький пример работать. Пример PHP работал хорошо, но не Perl. ]

1 Ответ

4 голосов
/ 01 февраля 2012

На вашем месте я бы попробовал "Прекрасную документацию".Это должно работать, однако:

#!/usr/bin/perl

use SOAP::Lite;
use SOAP::WSDL;
use strict;
use warnings;

my $service = SOAP::Lite->service('http://api.delcampe.net/soap.php?wsdl');

print $service->getServerTime()->result;

Редактировать:

Документация может быть найдена в http://guide.soaplite.com/ - также perldoc SOAP :: Lite из командыline.

Пример (выше) на веб-сайте, кажется, не работает более чем на одном счете: этот, однако, протестирован и работает на моей машине:

#!/usr/bin/perl

use SOAP::Lite;
use strict;
use warnings;

my $service = SOAP::Lite->service('http://api.delcampe.net/soap.php?wsdl');

print $service->getServerTime();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...