[DOM] Envoi d'un flux XML via un web service
j'ai un fichier xml que je veut transférer via un web service,j'utilisé les fonctions domxml_open_mem et dump_mem mais ça me donne l'erreur suivante : Call to undefined function domxml_open_mem().
j'ai chercher dans le forum j'ai trouvé quelques réponses mais ça ne répond pas toujours a mes question.
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| $requeteXml =
'<?xml version="1.0" encoding="UTF-8"?'.'><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:openPositionRequest xmlns:ns2="http://adep.apec.fr/hrxml/sep" xmlns:ns3="http://ns.hr-xml.org/2006-02-28"><ns2:authentication><ns2:userId>14215707</ns2:userId><ns2:partnerId>002</ns2:partnerId><ns2:md5Key>6eb3afca0a3207ae93f05bea5c20202a</ns2:md5Key></ns2:authentication><ns2:uniquePayloadTrackingId idOwner="CLIENT"><ns3:IdValue>ADEPTEST-14215707-002-192.168.11.105-1183728777925</ns3:IdValue></ns2:uniquePayloadTrackingId>'.$t.'</ns2:openPositionRequest></S:Body></S:Envelope>';
//exemple de traitement DOM à adapter selon les besoins
$oDOM = new DomDocument();
$oDOM->loadXML($requeteXml);
$requeteDom = domxml_open_mem($requeteXml);
echo "\n\n<h2>Requête</h2>" . htmlspecialchars($requeteDom->dump_mem(true, $encodage));
echo "\n\n<h2>Requête</h2>" . htmlspecialchars($oDOM->saveXML());
// Get search data from server and unserialize
$req = &new HTTP_Request($url);
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addHeader("Content-Length", strlen($requeteXml));
$req->addHeader("SOAPAction", $soap_action);
$req->addHeader("Content-Type", "text/xml; charset=$encodage");
$req->setBody($requeteXml);
echo
"\n\n<h2>Connexion</h2>Connexion à $url en cours... ";
flush();
$start = microtime_float();
$response = $req->sendRequest();
$end = microtime_float();
echo "fait!\nDurée de la connexion: ".($end-$start)." secondes\n";
if (PEAR::isError($response)) {
echo "\n\n<h2 style=\"color:red\">Erreur</h2>";
echo $response->getMessage();
} else {
echo "\n\n<h2>Réponse</h2>";
$reponseXml = $req->getResponseBody();
$reponseDom = domxml_open_mem($reponseXml);
echo htmlspecialchars($reponseDom->dump_mem(true, $encodage));
}
?> |
je tiens a vous informer que je travail avec PHP5
merci beaucoup d'avance