Assuming the best scenario:
$soapClient = new SoapClient($wsdlUrl, $soapOptions);
$soapClient->callYourMethod();
But you're likely to hit a lot of brick walls when using SOAP. Here's the documentation for SoapClient.
Edit:
So, the WSDL is POST-ed. Then, you could access it either by using $HTTP_RAW_POST_DATA
if the XML string was sent as the HTTP body, or by using the $_FILES
superglobal if the XML string was send as a part of a multipart request.
Something like this:
$wsdl = $HTTP_RAW_POST_DATA;
$wsdlUrl = 'data:text/xml;base64,' . base64_encode($wsdl);
$soapClient = new SoapClient($wsdlUrl);
Anyway, $HTTP_RAW_POST_DATA
is only available if the php.ini setting always_populate_raw_post_data
is turned on. Also, if the request was multipart, this setting is ignored, $HTTP_RAW_POST_DATA
is not populated but you get access to the posted parts using $_FILES
. And you may, indeed, use php://input
instead of $HTTP_RAW_POST_DATA
.
Also, data URIs may only be used when allow_url_fopen
is turned on in php.ini.