Comment convertir une réponse SOAP à PHP Array?
Je suis incapable de convertir SAVON réponse à un Tableau en php.
voici le code
$response = $client->__doRequest($xmlRequest,$location,$action,1);
voici la réponse SOAP.
<soap:envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:body>
<searchflightavailability33response xmlns="http://FpwebBox.Fareportal.com/Gateway.asmx">
<searchflightavailability33result>
<Fareportal><FpSearch_AirLowFaresRS><CntKey>1777f5a7-7824-46ce-a0f8-33d5e6e96816</CntKey><Currency CurrencyCode="USD"/><OriginDestinationOptions><OutBoundOptions><OutBoundOption segmentid="9W7008V21Feb14"><FlightSegment etc....
</searchflightavailability33result>
</searchflightavailability33response>
</soap:body>
</soap:envelope>;
j'ai utilisé les méthodes suivantes pour convertir au Tableau,mais je suis sortie vide.
1.echo '<pre>';print_r($client__getLastResponse());
2.echo '<pre>';print_r($response->envelope->body->searchflightavailability33response);
3.echo '<pre>';print_r($client->SearchFlightAvailability33($response));
4.simplexml_load_string($response,NULL,NULL,"http://schemas.xmlsoap.org/soap/envelope/");
5.echo '<pre>';print_r($client->SearchFlightAvailability33($response));
merci de me conseiller.
source d'informationauteur raheem.unr
Vous devez vous connecter pour publier un commentaire.
La suite de la réponse SOAP structure peut être facilement converti en un tableau en utilisant une combinaison des méthodes précédentes. En utilisant uniquement la fonction "simplexml_load_string" enlever le côlon ":" il a retourné null dans certains cas.
Réponse SOAP
PHP conversion:
Résultat:
j'ai enfin trouvé la solution est
nous pouvons obtenir le corps de la réponse à partir de SAVON de l'une des manières suivantes
exemple1:
exemple2:
J'ai trouvé une solution parfaite pour analyser SAVON réponse à un Tableau :
Il vous donnera un parfait tableau de SAVON de Données XML.
Php parse SAVON réponse à un tableau
J'ai eu une seule valeur à l'aide de DOMDocument.
La deuxième réponse de @gtrujillos a fonctionné pour moi, mais avec quelques changements, parce que la chaîne json besoin de plus de code de mise en forme dans mon cas et le xPath doit être de cette façon "//S:le Corps". C'est ce code qu'enfin résoudre mon problème. Je touche la même Réponse SOAP exemple et le code pour l'obtention et le retour d'une réponse Soap je l'ai trouvé ici:
PHP convertion