Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1543 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  WebService : Serveur en PHP et Client en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

WebService : Serveur en PHP et Client en C

n°310887
Olivier51
Posté le 16-02-2003 à 21:12:45  profilanswer
 

J'ai fait mon serveur pour le webservice en PHP, j'ai testé avec un client en PHp et pas de problème ...
Mais quand je fais mon client en C, il me renvoit une erreur lorsque j'essaye de récupérer le résultat d'une fonction, voici l'erreur :
XML-RPC Fault: unclosed token (-503)
 
Quelqu'un saurait d'où provient cette erreur ???

mood
Publicité
Posté le 16-02-2003 à 21:12:45  profilanswer
 

n°310893
youdontcar​e
Posté le 16-02-2003 à 21:20:05  profilanswer
 

si le serveur renvoie qq chose de différent avec un nouveau client, ça vient d'une requête mal formulée. regarde les headers reçus par le serveur, ou choppe un sniffer ( http://analyzer.polito.it/ ) pour comparer les envois des clients php / C.

n°310896
Olivier51
Posté le 16-02-2003 à 21:24:50  profilanswer
 

Je crois bien avoir vu sur Internet une histoire de 5 octets en fin de réponse du serveur pour les clients écrits en C mais je ne retrouve plus la page ...

n°310898
Olivier51
Posté le 16-02-2003 à 21:27:43  profilanswer
 

J'ai retrouvé la page, mais je ne sais pas comment modifié le fichier xmlrpcs.inc.
 
Le lien :
http://sourceforge.net/tracker/ind [...] tid=116847

n°310916
youdontcar​e
Posté le 16-02-2003 à 21:43:38  profilanswer
 

houla, le bug bien chelou ... pour modifier le .inc, tu regardes la méthode que tu appelles, puis tu rajoutes 5 caractères à ce qu'elle envoie.
 
à voir la tête du fichier et du bug content-length, ça doit être ça :
 
 function service() {
  $r=$this->parseRequest();
  $payload="<?xml version=\"1.0\"?>\n" .  
   $this->serializeDebug() .
   $r->serialize();
  Header("Content-type: text/xml\r\nContent-length: " .  
      strlen($payload));
  print $payload;
 }
 
donc remplacer la dernière ligne par qq chose comme print $payload . "      ";  

n°310933
Olivier51
Posté le 16-02-2003 à 22:07:51  profilanswer
 

Chez moi la correction comme tu me l'as proposée (et qui me semble à l'air correcte) ne marche pas ...

n°310934
youdontcar​e
Posté le 16-02-2003 à 22:11:17  profilanswer
 

peut-être qu'il faut aussi modifier content-length alors :
 
$payload = "<?xml ... " . ... . ... . "           ";
 
debugge un peu aussi, regarde si c'est bien cette fonction qui est appelée.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  WebService : Serveur en PHP et Client en C

 

Sujets relatifs
Peut on recuperer la resolution d'un ecran client avec Apache/PHP ?[PHP] Erreur dans PhpMyAdmin
[PHP] script d'export vers fichiers .vcs ou .icsconnaitre l'IP via une page web seulement par PHP
[PHP] détecter le depassement du temps max d'execution de scriptPHP/mySQL (debutant)
PHP : eregaffectation de variable PHP -> vers var JS
[Php/MySQL] Bp retour à la ligne sur resultat requete 
Plus de sujets relatifs à : WebService : Serveur en PHP et Client en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR