Улучшение IDE Проводник Кода Моделиста
я знаю, что это - повторение, но это должно быть в ответе самостоятельно. Это - мой номер 1, не может обойтись без, инструмент необитаемого острова.
Предварительное замечание: Чтобы успешно использовать метод __ getLastRequest ()
, вы должны установить для параметра 'trace' значение true при создании клиента:
$client = new SoapClient('wsdldoc.asmx?WSDL', array('trace' => TRUE));
Таким образом, ваш запрос по-прежнему будет отправлен (и, следовательно, по-прежнему не будет выполнен), но вы можете проверить отправленный xml впоследствии , вызвав $ client -> __ getLastRequest ()
.
Основной ответ:
Чтобы получить доступ к сгенерированному XML до / без отправки запроса, вам необходимо создать подкласс SoapClient, чтобы переопределить __ doRequest ( )
метод:
class SoapClientDebug extends SoapClient
{
public function __doRequest($request, $location, $action, $version, $one_way = 0) {
// Add code to inspect/dissect/debug/adjust the XML given in $request here
// Uncomment the following line, if you actually want to do the request
// return parent::__doRequest($request, $location, $action, $version, $one_way);
}
}
Затем вы использовали бы этот расширенный класс вместо исходного SoapClient при отладке вашей проблемы.
Я не верю, что есть способ увидеть любой создаваемый XML ... в основном потому, что функция не работает при попытке создать / передать его.
Не уверен если вы уже пробовали, но если вы '