Se connecter / S'enregistrer
Votre question

Webservice et xml

Tags :
  • Serveur
  • Programmation
Dernière réponse : dans Programmation
30 Septembre 2007 12:04:23

Bonjour,

Je doit en ce moment programmer un webservice dont une méthode prend en paramètres du xml. Je pensais donc lui passé le xml via une string tout à fait standard, ce qui me donne le code suivant:

<?
include('nusoap/nusoap.php');

$serveur = new soap_server;

function Test($xml)
{
return ("ok");
}

$serveur->register('Test', array('xml' => 'xsd:string'), array('return', 'xsd:string'), 'http://monurl.fr/#Test', 'rpc', 'encoded', 'Desc');

$serveur->service($HTTP_RAW_POST_DATA);
?>


Et voici mon client:

<?

ini_set("soap.wsdl_cache_enabled", "0");

$clientSOAP = new SoapClient('http://monurl.fr/test.wsdl');

echo $clientSOAP->Test("<xml><test>ok</test></xml>");

?>


Et la j'obtient l'erreur suivante:

Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in /var/www/test2.php:9 Stack trace: #0 [internal function]: SoapClient->__call('Test', Array) #1 /var/www/test2.php(9): SoapClient->Test("<xml>...') #2 {main} thrown in /var/www/test2.php on line 9

Et la j'avoue que je pige pas trop, si quelqu'un peut m'aiguiller.

Merci.

Autres pages sur : webservice xml

a b L Programmation
30 Septembre 2007 14:49:46

Je préviens, j'ai jamais touché au soap. :) 
Ce n'est parce qu'il y a des caractères de tag <, / et > dans la chaine ? et qu'il faudrait mettre les &name; ?
30 Septembre 2007 14:53:50

Si effectivement sa vient de sa mais le faite de remplacer les < par leur equivalent html alourdit le traitement et oblige le client à faire cette manipulation.

Je voudrais évité sa justement, je pense qu'il y a moyen de faire autrement mais je sais pas comment et je trouve pas sur gg :s.
2 Octobre 2007 09:55:46

Personne n'aurait une petite idée ? Je suis vraiment bloqué la :s
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS