Bonjour à tous,

Je dois envoyer un planning sur un serveur dont les webservices sont en SOAP.
J'ai commencé par générer le fichier XML via un template Twig que je render ensuite afin de récupérer le contenu de la réponse.

J'ai tenté d'utiliser SoapClient comme objet, mais le __doRequest me retourne un résultat nul et le __call attend un array de données (pour visiblement le convertir en XML).
Le souci étant que le XML a des balises avec des attributs internes et j'ignore totalement comment les convertir en array manuellement. J'ai tenté des méthodes de conversion XML->Array (notamment en utilisant du Json comme intermédiaire) mais sans succès. De plus, je trouve la maintenance d'un fichier twig bien plus pratique.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$xmlResponse = $this->render('ApiBundle:Avinode:avinode.xml.twig', [
    'applicationVersion' => $applicationVersion,
    'creationDate' => $creationDate->format(AvinodeInterface::AVINODE_TIME_FORMAT),
    'expirationDate' => $expirationDate->format(AvinodeInterface::AVINODE_TIME_FORMAT),
    'avinodeIds' => $avinodeIds,
    'xmlGenerator' => $avinodeService,
    'airplanes' => $airplanes,
    'regulationType' => $regulationType,
]);
$wsdl = $this->getParameter('avinode_wsdl');
$url = $this->getParameter('avinode_url'); //fourni par le WS comme "address"
$xml = $xmlResponse->getContent();
$soapClient = new \SoapClient($wsdl);
$response = $soapClient->__doRequest($xml, $url, 'request', 2);
Merci d'avance,