How do I see the actual XML generated by PHP SOAP Client Class?
Use getLastRequest
. It returns the XML sent in the last SOAP request.
echo "REQUEST:\n" . $SOAP->__getLastRequest() . "\n";
And remember, this method works only if the SoapClient object was created with the trace
option set to TRUE
. Therefore, when creating the object, use this code:
$SOAP = new SoapClient($WDSL, array('trace' => 1));
If you'd like to view the request without actually making a connection, you can override SoapClient's __doRequest
method to return the XML:
class DummySoapClient extends SoapClient { function __construct($wsdl, $options) { parent::__construct($wsdl, $options); } function __doRequest($request, $location, $action, $version, $one_way = 0) { return $request; }}$SOAP = new DummySoapClient('http://example.com/?wsdl', array('trace' => true));echo $SOAP->GetRequestDetail($params);