[SOAP] Structure d'Array, problème ajout valeur dans xml
Bonjour à toutes et à tous,
Je dois appeler un webservice depuis PHP en soap. J'ai donc utilisé SoapClient. Lors de l'appel à une méthode du client soap, je dois donc lui transmettre un paramètre avec la structure suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="xxxx" xmlns:tns="xxxx">
<soapenv:Header/>
<soapenv:Body>
<tns:loginRequest type="type" desiredLifeTime="6000" locale="fr" clientId="Mon Id" xmlns="xxxx">
<tns:loginCredentials>
<tns:credential name="username">Mon User</tns:credential>
<tns:credential name="password">Mon Password</tns:credential>
</tns:loginCredentials>
</tns:loginRequest>
</soapenv:Body>
</soapenv:Envelope> |
J'ai donc codé le bout de code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
$name[] = array('name' => 'username');
$name[] = array('name' => 'password');
$credential = array('credential'=>$name);
$soapData = array(
'type' => 'type',
'desiredLifeTime' => '6000',
'locale' => 'fr',
'clientId' => 'xxxx',
"loginCredentials" => $credential
); |
Ou $soapData est le tableau que je passes en paramètres lors de l'appel à la méthode contenue dans le wsdl. Le seul problème, c'est qu'à la sortie j'obtiens ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="xxx" xmlns:ns1="xxx">
<SOAP-ENV:Body>
<ns1:loginRequest type="type" desiredLifeTime="6000" locale="fr" clientId="xxxx">
<ns1:loginCredentials>
<ns1:credential name="username"/>
<ns1:credential name="password"/>
</ns1:loginCredentials>
</ns1:loginRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> |
Ma question est donc la suivante, comment puis-je écrire "Mon User" dans le "credential name="username" et le "Mon Password" dans le "credential name="password" ?
J'ai fait plusieurs tentatives et recherches, mais je ne trouves pas d'informations sur un xml complexe avec des type de balises et des valeurs dans les balises...
En vous remerciant d'avance