Bonjour,
j'ai quelques soucis pour parser un fichier XML de cette forme
Car j'obtiens une erreur du type
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
16
17
18
19
20
21
22
23
24<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Action xmlns="www.blabla.fr/getdata"> <Request> <Username>login</Username> <Password>motdepasse</Password> <Language>FR</Language> <Country>FR</Country> <ChargeReference></ChargeReference> <Operation>AddCompanies</Operation> <Portfolios> <Portfolio Id="111111"> <Entreprises> <Entreprise> <Siren>0000000000</Siren> </Entreprise> </Entreprises> </Portfolio> </Portfolios> </Request> </Action> </soap:Body> </soap:Envelope>
En tentant de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Warning: simplexml_load_file(): /xml/request.xml:4: namespace warning : xmlns: URI www.blabla.fr/getdata is not absolute
Tandis qu'en donnant comme entrée le xml suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $request = simplexml_load_file(dirname(__FILE__).'/xml/request.xml'); echo '<pre>'.print_r($request,true).'</pre>'; exit;
Je n'ai aucun soucis, pour récupérer le xml sous forme de tableau.
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
16
17<Request> <Username>login</Username> <Password>motdepasse</Password> <Language>FR</Language> <Country>FR</Country> <ChargeReference></ChargeReference> <Operation>AddCompanies</Operation> <Portfolios> <Portfolio Id="111111"> <Entreprises> <Entreprise> <Siren>0000000000</Siren> </Entreprise> </Entreprises> </Portfolio> </Portfolios> </Request>
Ma question est de savoir comment à partir du xml qui fonctionne, je peux intégrer les entetes pour obtenir le premier XML car j'ai ensuite besoin d'utilier SoapClient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $wsdl = "https://www.blabla.fr/GetData/test.asmx?WSDL"; $client = new SoapClient($wsdl); //$reponse = $client->Action(urlencode($request)); $reponse = $client->Action($request); return $reponse;
Partager