Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie SOAP w php
Forum PHP.pl > Forum > PHP
maksik
metodą "GetUnsentProductData" muszę połączyć się SOAP opartą w PHP
http://bit.ly/1xy4iNe

z adresem
https://www.i-label.net/partners/webservice...tdata.asmx?WSDL

przekazując zmienną "ExternalCallerId" aby otrzymać odpowiedź


próbowałem najprostszej metody znalezionej w google ale nie pomogło

  1. <?php
  2.  
  3. $client = new SoapClient("https://www.i-label.net/partners/webservices/datafeedbasic/extractdata.asmx?WSDL");
  4. $result = $client->GetUnsentProductData(array('ExternalCallerId' => 'KEY'));
  5.  
  6. print_r($result);
  7.  
  8. ?>


Czy wie ktoś jak to można rozwiązać?
Pyton_000
http://php.net/manual/en/soapclient.getlastresponse.php

i co dostajesz w result
maksik
komunikat pojawiający się

  1. Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.i-label.net/partners/webservices/datafeedbasic/extractdata.asmx?WSDLl' : Premature end of data in tag html line 3 in /public/index.php:5 Stack trace: #0 /public/index.php(5): SoapClient->SoapClient('https://www.i-l...', Array) #1 {main} thrown in /public/index.php on line 5
morthan
  1. $client = new SoapClient("https://www.i-label.net/partners/webservices/datafeedbasic/extractdata.asmx?WSDL", array('trece' => true));
  2.  
  3. $authData = new stdClass();
  4. $authData->ExternalCallerId = 'guid';
  5. $authHeader = new SoapHeader('http://www.i-label.net/Partners/WebServices/DataFeed/2005/11', 'ExternalCallerHeader', $authData);
  6. $client->__setSoapHeaders(array($authHeader));
  7.  
  8. $client->__soapCall('GetUnsentProductData', array('ExternalCallerId' => 'guid'));
  9. echo "<pre>";
  10. print_r($client->__getFunctions());
  11. print_r($client->__getLastResponse());
  12. print_r($client->__getLastRequest());


[Edit] Poniższy opis wink.gif

Nie wnikam dalej co to za identyfikator itd. Ogólnie dostałe błąd, że podałem nieprawidłowy. Co robią poszczególne komendy doczytaj w namualu.
Szczególnie zwróć uwagę co robi to ustrojstwo
  1. array('trece' => true)



maksik
Otrzymuję te odpowiedź, ale to jeszcze nie jest ta zawartość
  1. (
  2. [0] => GetUnsentProductDataResponse GetUnsentProductData(GetUnsentProductData $parameters)
  3. [1] => GetProductDataForGTINsResponse GetProductDataForGTINs(GetProductDataForGTINs $parameters)
  4. [2] => AcknowledgeMessageResponse AcknowledgeMessage(AcknowledgeMessage $parameters)
  5. [3] => GetUnsentProductDataResponse GetUnsentProductData(GetUnsentProductData $parameters)
  6. [4] => GetProductDataForGTINsResponse GetProductDataForGTINs(GetProductDataForGTINs $parameters)
  7. [5] => AcknowledgeMessageResponse AcknowledgeMessage(AcknowledgeMessage $parameters)
  8. )
morthan
Pisałem byś doczytał w manualu co jest co.

To co dajesz to zestaw funkcji dla tego klienta, i znaczy tyle że połaczyłeś się pawidłowo wink.gif

MANUAL nie gryzie, choć czasem głowa boli od nadmiaru wiedzy smile.gif

[EDIT]

Masz identyfikator GUID??
maksik
  1. $client = new SoapClient("https://www.i-label.net/partners/webservices/datafeedbasic/extractdata.asmx?WSDL", array('trece' => true));
  2.  
  3. $authData = new stdClass();
  4. $authData->ExternalCallerId = 'guid';
  5. $authHeader = new SoapHeader('http://www.i-label.net/Partners/WebServices/DataFeed/2005/11', 'ExternalCallerHeader', $authData);
  6. $client->__setSoapHeaders(array($authHeader));
  7.  
  8. $client->__soapCall('GetUnsentProductData', array('ExternalCallerId' => 'guid'));
  9. echo "<pre>";
  10. print_r($client->__getFunctions());
  11. print_r($client->__getLastResponse());
  12. print_r($client->__getLastRequest());


Jak wykorzystać te motodę do wyciągnięcia parametru GetUnsentProductData?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.