XML SoapClient SimpleXMLElement
Bonjour,
j'ai quelques soucis pour parser un fichier XML de cette forme
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
| <?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> |
Car j'obtiens une erreur du type
Code:
1 2 3
| Warning: simplexml_load_file(): /xml/request.xml:4:
namespace warning : xmlns: URI www.blabla.fr/getdata is not
absolute |
En tentant de faire :
Code:
1 2 3
| $request = simplexml_load_file(dirname(__FILE__).'/xml/request.xml');
echo '<pre>'.print_r($request,true).'</pre>'; exit; |
Tandis qu'en donnant comme entrée le xml suivant :
Code:
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> |
Je n'ai aucun soucis, pour récupérer le xml sous forme de tableau.
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:
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; |