Article View: pl.comp.lang.perl
Article #52336Re: Allegro WebAPI - czy komus się udało?
From: Giz
Date: Wed, 11 Jan 2012 08:12
Date: Wed, 11 Jan 2012 08:12
58 lines
2764 bytes
2764 bytes
> Czy komuś udało się to przeskoczyć?
Jako że nikomu się nie udało stworzyć komunikacji SOAP w perlu z
AllegroWebApi lub stworzył ale siedzi cicho.
Wnioskuje to z tego że na grupach są tylko same pytania bez konkretnych
odpowiedzi, także na forum WebApi na Allegro.
Wklejam tu swoje rozwiązanie.
Stety lub niestety musiałem skorzystać z kodu php który łączy się z
AllegroWebApi.
Na szczęście w php musiałem zrobić tylko mały skrypcik a główna część jest
nadal w perlu.
W skrócie wygląda to tak:
W perlu zrobiona jest cała obsługa która gdy potrzebuje wywołąć jakąś
funckcję z AllegroWebApi to tworzę xml
który wysyłany jest do skryptu w php.
Skrypt w php ma za zadanie zamienić xml na Array i wysłać do Allegro.
Odpowiedź ponownie trafia do skryptu w perlu.
Wywołanie skryptu z poniomu perl wygląda tak:
my $res= `./SOAP.php \"$xml\"`; # w $res mamy odpowiedź z allegro
natomiast sam skrypt SOAP.php to:
<?php
require_once 'nusoap.php';
require_once "class.xmltoarray.php";
// skrypt oczekuje tylko jednego parametru w ktorym bedzie xml
if(empty($argv[1])) {exit;}
$xml=$argv[1];
// zaczynamy przerabiac xml na array
// funkcje xmlToArray znalazlem w necie i lekko
// przerobiłem na własne potrzeby
// Takich funkcji jest w necie sporo, wystarczy poszukac i dostosowac
$xmlObj = new XmlToArray($xml);
$array = $xmlObj->createArray();
$metoda=$array["xml"]["metoda"]; // moj xml zawiera tez info o
wywolywanej metodzie
$msg=$array["xml"]["dane"]; // tu wydzielam same dane z xml
$client = new SoapClient('http://webapi.allegro.pl/uploader.php?wsdl',
true);
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$response = $client->call("$metoda", $msg);
print_r($response);
?>
Pozdr
G
Technical Details
Message-ID:
<jejg92$afm$1@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mailReferences:
<jdumrr$pq3$1@news.icm.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail From: "Giz" <giz@nospam.pl> Newsgroups: pl.comp.lang.perl Subject: Re: Allegro WebAPI - czy komus się udało? Date: Wed, 11 Jan 2012 09:12:21 +0100 Organization: ICM, Uniwersytet Warszawski Lines: 59 Message-ID: <jejg92$afm$1@news.icm.edu.pl> References: <jdumrr$pq3$1@news.icm.edu.pl> NNTP-Posting-Host: 195-80-229-22.pljtelecom.pl Mime-Version: 1.0 X-Trace: news.icm.edu.pl 1326269538 10742 195.80.229.22 (11 Jan 2012 08:12:18 GMT) X-Complaints-To: usenet@news.icm.edu.pl NNTP-Posting-Date: Wed, 11 Jan 2012 08:12:18 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit