Witam. Od dwóch dni próbuję zintegrować swój sklep z zewn. aplikacją, lecz nie mogę się połączyć z API.Sklep postawiony na silniku SOTE w wersji licencyjnej- postawionej u mnie na serwerze. Aby wywołać funkcję poprzez protokół SOAP/WSDL, wpierw loguję się by pobrać id sesji:
  1. $this->client = new SoapClient($url."webapi/soap?wsdl");
  2. $obj = new stdClass();
  3. $obj->username = "email@admin.pl";
  4. $obj->password = "zasq12wsx";
  5. try {
  6. [b]$result = $this->client->doLogin($obj);[/b]
  7. } catch (Exception $e) {
  8. print $e->getMessage()."\1n";
  9. }
  10. $t = $this->client->__getLastResponse();
  11. $this->hash = $result->hash;
  12.  

następnie tworzę wywołanie kolejnej funkcji :
  1. $this->client = new SoapClient($url."user/soap?wsdl");
  2. $obj =new stdClass;
  3. $obj->_offset= 1;
  4. $obj->_limit = 10 ;
  5. $obj->_session_hash = $this->hash;
  6. $result = $this->client->__call("GetUserList",$obj);


Pewnie zauważalna jest zmiana adresu url Webserwisu API - SOTE pogrupował funkcje i nadał inne linki. Próbowałem wykonywać funkcję także bez używania __call
  1.  
  2.  
  3. $result = $this->client->GetUserList($obj);
wynik ten sam: DTD are not supported by SOAP.

Dokumentacja API SOTE: http://www.wiki.sote.pl/trac/wiki/doc/stWebapiPlugin, Wersja PHP: 5.4.7.

Proszę o pomoc. Pozdrawiam!