Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> SOAP - klasy i metody
Tango44
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.12.2011

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Tango44 9.06.2013, 16:13:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
kipero
post
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

Ostrzeżenie: (0%)
-----


http://www.php.net/manual/en/soapserver.setobject.php

Ten post edytował kipero 9.06.2013, 19:16:30


--------------------
Go to the top of the page
+Quote Post
Tango44
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.12.2011

Ostrzeżenie: (0%)
-----


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()
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Google: PHP stateful SOAP
Go to the top of the page
+Quote Post
Tango44
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.12.2011

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował Tango44 13.06.2013, 20:51:10
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Tango44
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.12.2011

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Tango44 13.06.2013, 21:24:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:19