nuSoap et Php

nuSoap et Php - PHP - Programmation

Marsh Posté le 16-03-2006 à 15:20:15    

Bonjour,
 
j'essaye d'integrer des webservices dans un projet Php, mais j'ais des soucis avec mon serveur.  
 
Tout va bien si j'utilise le code suivant :
 

Code :
  1. <?php
  2. include('nusoap.php');
  3. $serveur = new soap_server;
  4. $serveur->register('bonjour');
  5. $serveur->service($HTTP_RAW_POST_DATA);
  6. function bonjour($prenom)
  7.   {
  8.   return "Bonjour $prenom!";
  9.   }
  10. ?>


 
par contre si j'integre ce morceau de code dans mes classes, ça pose probleme :
 

Code :
  1. include_once('nusoap.php');
  2. class mySoap extends myAPI {
  3. function main($content,$conf) {
  4.              $serveur = new soap_server;
  5.              $serveur->register('bonjour');
  6.              $serveur->service($HTTP_RAW_POST_DATA);
  7.  die();
  8. }
  9.         function bonjour($prenom) {
  10.      return "Bonjour $prenom!";
  11.        }
  12. }


 
A priori je dirais que $serveur->service ne recupere pas le contexte de $this, et ne trouve donc pas la bonne fonction "bonjour()". mais comment faire, puisque la méthode service() attend une string ? :/
 
Coda.

Reply

Marsh Posté le 16-03-2006 à 15:20:15   

Reply

Marsh Posté le 16-03-2006 à 15:29:51    

Si tu lui indique nulle part dans quelle classe ou objet chercher la fonction, c'est normal qu'il ne trouve pas.
En php, les objets sont autonome, tu peux les appeller les un les autres dans n'importe quel sens, ca changera rien : ils s'en fichent de qui les appelle, ce qui compte c'est ce qu'on leur donne comme info et ce qu'on leur demande de faire.
 
A noter que c'est la même chôse dans la majorité des langages objets.

Reply

Marsh Posté le 16-03-2006 à 15:37:36    

omega2 a écrit :

Si tu lui indique nulle part dans quelle classe ou objet chercher la fonction, c'est normal qu'il ne trouve pas.
En php, les objets sont autonome, tu peux les appeller les un les autres dans n'importe quel sens, ca changera rien : ils s'en fichent de qui les appelle, ce qui compte c'est ce qu'on leur donne comme info et ce qu'on leur demande de faire.
 
A noter que c'est la même chôse dans la majorité des langages objets.


 
ça je sais bien ... mais ça ne m'avance pas plus ...
mon probleme est justement, comment donner cette info à nusoap :/
 
$serveur->register($this->bonjour);
$serveur->register(mySoap::bonjour);
$serveur->register(array(&$this,'bonjour'));
 
ne fonctionnent pas ... si tu as d'autres idées ou pistes je suis preneur :/
 
Coda.

Reply

Marsh Posté le 16-03-2006 à 15:44:07    

je pense que c'est ça qui merde : $serveur->register('bonjour');
Ta fonction, c'est plus bonjour(), mais mySoap->bonjour()...

Reply

Marsh Posté le 16-06-2008 à 12:18:30    

salut
j'ai developpé une application en php et je voullais la transformer en web service j'utilise nusoap mais je ne trouve pas ou je pourrais placer le fichier nusoap .
j'ai fait la soap_server mais j'ai trouvé bcp d'erreurs
 
Notice: Undefined variable: HTTP_RAW_POST_DATA in c:\wamp\www\test\seif.php on line 135
 
Notice: Undefined index: content-type in c:\wamp\www\test\nusoap.php on line 4209
 
Notice: Undefined index: content-type in c:\wamp\www\test\nusoap.php on line 4210
 
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\test\seif.php:2) in c:\wamp\www\test\nusoap.php on line 4174
 
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\test\seif.php:2) in c:\wamp\www\test\nusoap.php on line 4174
 
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\test\seif.php:2) in c:\wamp\www\test\nusoap.php on line 4174
 
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\test\seif.php:2) in c:\wamp\www\test\nusoap.php on line 4174
 
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\test\seif.php:2) in c:\wamp\www\test\nusoap.php on line 4174
 
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\test\seif.php:2) in c:\wamp\www\test\nusoap.php on line 4174
SOAP-ENV:Clientmethod &apos;&apos; not defined in service  
svp qui peut m'aider c'est urgent...........merci d'avence.

Reply

Marsh Posté le 16-06-2008 à 13:11:10    

1) On n'utilise pas le sujet d'un autre pour ses problèmes.
2) Ton problème n'est pas plus urgent que ceux des autres.
3) Les messages d'erreur sont très clairs.


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed