![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
walczę już od paru dni z umieszczeniem skryptu na serwerze. Lokalnie na komputerze na Windowsie mam zainstalowany Webserv i z poziomu przegladarki http://localhost/skrypt.php wszystko pięknie chodzi. Nie ma problemu do pobrania informacji z allegro przez funkcje webAPI Allegro. Fragment kodu po którym się wszystko psuje: $soap=new SoapClient('http://webapi.allegro.pl/uploader.php?wsdl'); $userId=$soap->doGetUserId(1,$allegro_user,'',$webAPI_KEY); a oto błąd z przeglądarki : Fatal error: Call to undefined function: dogetuserid() in /var/www/sites/skrypt.php on line 14 Nie sądzę aby było coś tu nie tak. Wydaje mi się że to problem z poprawnym umieszczeniem plików pakietu nusoap. Wszystkie pliki znajdują się razem na serwerze w tym samym katalogu. Próbowałem umieszczać skrypt na kilku różnych serwerach i wszędzie ten sam problem, albo też inny : Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://webapi.allegro.pl/uploader.php?wsdl' : failed to load external entity "http://webapi.allegro.pl/uploader.php?wsdl" in /home/sites/f/fi/fin/finebuy.za.pl/panel_lista.php:7 Stack trace: #0 /home/sites/f/fi/fin/finebuy.za.pl/panel_lista.php(7): SoapClient->SoapClient('http://webapi.a...') #1 {main} thrown in /home/sites/f/fi/fin/finebuy.za.pl/panel_lista.php on line 7 Bez waszej pomocy poddaję się bo już zabrakło pomysłów. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://webapi.allegro.pl/uploader.php?wsdl' : failed to load external entity "http://webapi.allegro.pl/uploader.php?wsdl" in /home/sites/f/fi/fin/finebuy.za.pl/panel_lista.php:7 Stack trace: #0 /home/sites/f/fi/fin/finebuy.za.pl/panel_lista.php(7): SoapClient->SoapClient('http://webapi.a...') #1 {main} thrown in /home/sites/f/fi/fin/finebuy.za.pl/panel_lista.php on line 7 za.pl, to był darmowy hosting, z tego co pamiętam. (IMG:style_emoticons/default/winksmiley.jpg) Na darmowych zapomnij. Zablokowana większość pożytecznych rzeczy. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak ten akurat jest darmowy. Ja jednak cały czas staram się wrzucić skrypt na serwer płatny. Wydaje mi się że o obsługę SOAP na serwerze chodzi i że należy, albo zainstalować ja przez administratora (ta opcja chyba niemożliwa), albo jakoś posłużyć się innymi bibliotekami jak nuSOAP, jednakże nie wiem jak do końca to zrobić. Dorzuciłem pliki nuSOAP do katalohu ze skryptem, a w skrypcie dodałem :
require_once 'nusoap.php'; jednakże nadal nie działa |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 11 Dołączył: 2.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dorzuciłem pliki nuSOAP do katalohu ze skryptem, a w skrypcie dodałem : require_once 'nusoap.php'; jednakże nadal nie działa http://webapi.allegro.pl/uploader.php?apiMethod=doLogin# Zobacz ostatnie (u dołu) dwa wpisy. W SOAP jest tak:
a w nuSOAP jest tak :
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 1.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Przesyłam wycinek mojego kodu, może komuś się przyda:
Kod class allegro_wsdl
{ public $error_msg; protected $klient; public function __construct($login,$haslo,$kraj,$klucz) { global $cur; $this->error_msg= array(); switch($cur){ case 'CZK': $adres="http://webapi.aukro.cz/uploader.php?wsdl";break; case 'EUR': $adres="http://webapi.aukro.sk/uploader.php?wsdl";break; default: $adres="http://webapi.allegro.pl/uploader.php?wsdl";break; } $this->klient = new SoapClient($adres, array('trace' => TRUE)); try { $response=$this->klient->doQuerySysStatus(1, $kraj, $klucz); } catch (SoapFault $soapFault) { echo "Request :<br>", htmlentities($client->__getLastRequest()), "<br>"; echo "Response :<br>", htmlentities($client->__getLastResponse()), "<br>"; $this->error_msg[]=$soapFault->{'faultstring'}.$soapFault->{'faultcode'}; return false; } $verkey=$response['ver-key']; try { $response= $this->klient->doLogin($login, $haslo, $kraj, $klucz, $verkey); } catch (SoapFault $soapFault) { echo "Request :<br>", htmlentities($client->__getLastRequest()), "<br>"; echo "Response :<br>", htmlentities($client->__getLastResponse()), "<br>"; $this->error_msg[]=$soapFault->{'faultstring'}.$soapFault->{'faultcode'}; return false; } return $sesja=$response['session-handle-part']; } Ten post edytował php83 1.08.2017, 09:14:43 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale jakbyś zobaczył dokumentację Allegro to byś wiedział że taka metoda występuje: http://allegro.pl/webapi/documentation.php/show/id,102
Więc problem z SOAP jest jak najbardziej... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 1.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Tak, masz racje, sorka, mój błąd, edytowałem posta i macie ode mnie wycinek mojego kodu, odpowiadający za logowanie.
Informuję, że w ideale powinno korzystać się z szyfrowanej funkcji dologin ale jeszcze nie rozpracowałem jak to zrobić w php. Jak ktoś to rozpracował będę wdzięczny za podzielenie się kodem. Mam rozpracowaną obsługę połowy funkcji allegro, odpowiadającą za: wystawianie, listowanie i podmienianie aukcji, oraz za ściąganie do sklepu danych złożonego przez klienta zamówienia. Zrobiłem w PHP tzw. dalsze aukcje, czyli zdjęcia z tytułem i ceną. Tak więc mogę się podzielić cenną radą. Pozdr |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja też ostatnio miałem podobne problemy mimo że wszystko działało przez ostatni rok. W najnowszych wersjach PHP są fixy do soap. Coś jest nie tak z cachem wsdla. Jest źle wczytywany.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A weź... z SOAP to i ja ostatnio miałem problemy. Miałem skrypt który po SSL podpina się pod serwer i zaciąga WSDL. Pod php 7 nie działało, a 5 jak ta lala... Problem był w tym że w php7 wywalało problem z SSL i czymś tam jeszcze.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 1.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Solved? PHP SOAP problem z połączeniem do webAPI Allegro
Jak przestudiujecie dokumentację webAPI i zerkniecie na przykładowe rozwiązania, to zobaczycie, że do niedawna parametry musiały/mogły być układane wg. określonej kolejności. Teraz trzeba podać odpowiednia tablice:
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Eeee?? Z tego co pamiętam to zawsze trzeba było podać jakąś poj... tablicę z nazwami które kompletnie nic nie mówiły. Allegro pod tym względem kuleje.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 26 Dołączył: 13.09.2007 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmm.... Te api allegro ssie totalnie... 1 raz chyba robiłem z nimi integrację i wincyj nie chce. Może kiedyś dokończą swoje RestApi...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.08.2025 - 20:12 |