Dans le meilleur scénario:
$soapClient = new SoapClient($wsdlUrl, $soapOptions);
$soapClient->callYourMethod();
Mais vous êtes susceptible de frapper beaucoup de murs en briques lors de l'utilisation SOAP. Voici le documentation for SoapClient.
Edit:
Ainsi, le WSDL est POST-ed. Ensuite, vous pouvez y accéder en utilisant $HTTP_RAW_POST_DATA
si la chaîne XML a été envoyée en tant que corps HTTP ou en utilisant la superglobale $_FILES
si la chaîne XML a été envoyée dans le cadre d'une requête en plusieurs parties.
Quelque chose comme ceci:
$wsdl = $HTTP_RAW_POST_DATA;
$wsdlUrl = 'data:text/xml;base64,' . base64_encode($wsdl);
$soapClient = new SoapClient($wsdlUrl);
Quoi qu'il en soit, $HTTP_RAW_POST_DATA
est uniquement disponible si le réglage php.ini always_populate_raw_post_data
est activée. En outre, si la requête était multipart, ce paramètre est ignoré, $HTTP_RAW_POST_DATA
n'est pas renseigné mais vous avez accès aux pièces postées en utilisant $_FILES
. Et vous pouvez, en effet, utiliser php://input
au lieu de $HTTP_RAW_POST_DATA
.
De même, data URIs ne peut être utilisé que lorsque allow_url_fopen
est activé dans php.ini.
Vous n'avez jamais vu ce "php: // input", est-ce que cela lit les données RAW? –
Merci cela fonctionne très bien –