SLY_G
@SLY_G
журналист, переводчик, программист, стартапщик

Нужна помощь для создания perl-скрипта отслеживания посылки по трекингу Почты России

Есть доступ к сервису почты по адресу voh.russianpost.ru:8080/niips-operationhistory-web/OperationHistory?wsdl (выдали логин с паролем).
Никогда раньше не работал с SOAP, поэтому вообще не понимаю, как отправлять запросы и как получать ответы. Курение мануалов по SOAP::Lite и SOAP::WSDL не помогло.
Нашёл обрывки информации, примеры скриптов на незнакомых мне языках, в связи с этим запутался окончательно.

Нужен какой-то работающий пример запроса на perl.
  • Вопрос задан
  • 4597 просмотров
Пригласить эксперта
Ответы на вопрос 6
nochkin
@nochkin
Что-то типа такого?
www.perl.com/pub/2001/01/soap.html

Тут более полная информация с похожими примерами:
cookbook.soaplite.com/
Ответ написан
Комментировать
SLY_G
@SLY_G Автор вопроса
журналист, переводчик, программист, стартапщик
Я это находил. Вообще не помогает понять, как работать с wsdl от Почты.
Описывает, как общаются собственноручно сделанный сервер с клиентом.
Как с любой новой технологией — сложно преодолеть пропасть между «в принципе, оно работает вот так» и «в данном конкретном случае надо делать вот это и это»
Ответ написан
Комментировать
Actor
@Actor
Могу только на PHP подсказать, может надумаете сделать на нем.
Это код подключается к веб-сервису и производит авторизацию (получает токен авторизационный)
Очень частая проблема не рабочего кода в параметрах передаваемых в функцию, смотрите внимательней!
$client = new
SoapClient(
«site.com?wsdl», array(«trace» => 1,'cache_wsdl' => WSDL_CACHE_NONE)
);
$authenticator = $client->AuthenticateUser(
array( 'Credentials' =>
array(
'IntegrationID' => '1234567890',
'Username' => 'user',
'Password' => 'name'
)
)
);

А вот часть из документации по данному методу AuthenticateUser:
<?xml version=«1.0» encoding=«utf-8»?>
<soap12:Envelope xmlns:xsi=«www.w3.org/2001/XMLSchema-instance» xmlns:xsd=«www.w3.org/2001/XMLSchema» xmlns:soap12=«www.w3.org/2003/05/soap-envelope»>
<soap12:Body>
guid
string
string


</soap12:Body>
</soap12:Envelope>
Что тут нас интересует так это набор параметров
guid
string
string

если перевести на php это будет массив: array('Credentials' => array('IntegrationID', 'Username', 'Password'))
По такому принципу весь SOAP работает.

P.S. Напишите в личку как код оформлять на хабре…
Ответ написан
perl_demon
@perl_demon
посмотри вот это:https://metacpan.org/release/W3C-SOAP
Там в комплекте есть утилиты, которые должны помочь разобраться.
Ответ написан
Комментировать
vsespb
@vsespb
Сначала курите мануалы к самому протоколу SOAP, а не к cpan модулям.
Ответ написан
Комментировать
ellesar2001
@ellesar2001
Встречный вопрос, а где взяли логин-пароль? Как его получить? Хочется к своему магазину прикрутить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы