[SOAP] Problème de namespace dans le soap header

cabrinha Messages postés 1 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 17 janvier 2008 - 17 janv. 2008 à 17:39
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 17 janv. 2008 à 19:02
Bonjour,
J'ai un service web qui tourne en .NET
Je dois développer un client en PHP5. J'ai un problème de formattage de mon en-tête SOAP. En effet, il semblerait que le préfixe du namespace n'est pas appliqué à toutes les balises :

Voilà le message SOAP que PHP envoie :

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1= "http://www.toto.com/">
   <env:Header>
      <ns1:AuthHeaderUidSite>
          xxx
         <Site>102</Site>
       </ns1:AuthHeaderUidSite>
   </env:Header>
   <env:Body>
       <ns1:HelloWorld>
          <ns1:nom>LI</ns1:nom>
          <ns1:day>2008-01-17T14:46:37</ns1:day>
       </ns1:HelloWorld>
   </env:Body>
</env:Envelope>

<!-- END TEMPLATE: bbcode_code -->Le préfixe "ns1" en rouge est bien placé sur la balise mais n'apparaît pas sur et <Site>, du coup, côté server, ma méthode web .NET n'arrive pas à les récupérer. Pour elle, c'est comme si il n'y avait pas de donnée dans .

Voici le code PHP que j'utilise :

<!-- BEGIN TEMPLATE: bbcode_code -->

class AuthHeaderGuidSite {
  private$UID;
  private$Site;
  publicfunction __construct($uid,$site){
     $this->UID =$uid;
     $this->Site=$site;
  }
}
 
 
$ns = "http://www.toto.com/";
$client = new SOAPClient($wsdl,$options);
 
$GUID = "xxx";
$site = 102;
$Auth1 = new AuthHeaderUidSite($GUID,$site);
$headerBody = new SOAPVar($Auth1,SOAP_ENC_OBJECT);
$header = new SoapHeader($ns,'AuthHeaderUidSite',$headerBody,false);
 
$day = date('Y-m-d\TH:i:s');
$params = array("nom"=>"LI", "day"=>$day);
$s = $client ->__soapCall("HelloWorld",array($params),NULL,array($header));

<!-- END TEMPLATE: bbcode_code -->Comment faire pour que le namespace s'applique aux membres de ma classe AuthHeaderGuidSite ?

Merci

<!-- / message -->

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 janv. 2008 à 19:02
Hello,

on peut voir ton wsdl ?
0
Rejoignez-nous