Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SOAP - klasy i metody
Forum PHP.pl > Forum > PHP
Tango44
Witam, mam pewien problem. Otóz chciałbym skorzystać z SOAP. Chciałbym mieć na serwerze nie same funkcje tylko całą klase np:
  1. class Test {
  2. public $abc;
  3.  
  4. public function Test() {}
  5.  
  6. public function setABC()
  7. {
  8. $this->abc = "aaa";
  9. return "set:".$this->abc;
  10. }
  11.  
  12. public function getABC()
  13. {
  14. return "get:".$this->abc;
  15. }
  16.  
  17. }


Dodaję klase za pomocą:

  1. $soap->setClass('Test')


Działa poprawnie metoda setABC(), przypisuje do $abc treść i dla testów ją zwraca, lecz juz metoda getABC() nie odczytuje $abc. Nie wiem w jaki sposób operować na jednym obiekcie w tym przypadku. Wygląda jakby te metody działały osobno na róznych obiektach. W jaki sposób mam to rozwiązać aby po setABC() móc zwrócić $abc poprzez getABC() ? Będe wdzięczny za pomoc.
Tango44
Serwer:
  1. $i = new Test();
  2. $soap->setObject($i);


Klient:
  1. $soap = new SoapClient(...);
  2. echo $soap->setABC();
  3. echo $soap->getABC();


dalej wyswietla tylko to co zwraca setABC()
Crozin
Google: PHP stateful SOAP
Tango44
Cytat(Crozin @ 9.06.2013, 19:47:27 ) *
Google: PHP stateful SOAP


Chyba zaczynam rozumeć (jeśli źle to prosze bez linczu). Najpierw używam SoapClient::__getLastResponseHeaders później SoapClient::__setCookie. Problem w tym że nie wyswietla mi się nic przy __getLastResponseHeaders

  1. echo $soap->setABC();
  2. echo $soap->__getLastResponseHeaders();


Pytanie co robie źle

EDIT:

Dobra znalazłem sposób na __getLastResponseHeaders(). Niestety nie mam żadnych danych odnośnie cookie


HTTP/1.1 200 OK
Date: Thu, 13 Jun 2013 19:48:27 GMT
Server: Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1 X-Powered-By: PHP/5.3.5
Content-Length: 533
Keep-Alive: timeout=5, max=100 Connection:
Keep-Alive Content-Type: text/xml; charset=utf-8


Jakieś pomysły ?
Crozin
Nigdy nie zajmowałem się stateful SOAP-em w środowisku PHP dlatego nie za bardzo jestem wstanie pomóc:
1. http://www.slideshare.net/mayflowergmbh/st...oap-webservices
2. Serwer sam z siebie nie utworzy ciastka sesji - SOAP domyślnie działa jako protokół bezstanowy. Może ustawienie jakiegokolwiek ciasteczka przed wykonaniem pierwszego żądania wymusi na serwerze utworzenie i podtrzymanie sesji.
Tango44
Cytat(Crozin @ 13.06.2013, 22:03:55 ) *
2. Serwer sam z siebie nie utworzy ciastka sesji - SOAP domyślnie działa jako protokół bezstanowy. Może ustawienie jakiegokolwiek ciasteczka przed wykonaniem pierwszego żądania wymusi na serwerze utworzenie i podtrzymanie sesji.


Nie działa, juto zapoznam się z linkiem. Dzięki za pomoc.
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.