为什么getLastRequest没有返回任何东西?

eva*_*van 11 php xml soap

我正在尝试获取XML请求:

$cgProxy = new SoapClient($WSDL_URL,array('trace' => 1));

try {
        $result = $cgProxy->OrderCreate($cgOrder);

} catch (SoapFault $exc) {
        var_dump($exc);
        echo "Request:\n" . $cgProxy->__getLastRequest(), "\n";
        echo "Response:\n" . $cgProxy->__getLastResponse() . "\n";
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我从$ exc转储中得到了soap服务器错误.但getLastRequest似乎没有返回任何东西.有什么想法吗?

我也试过htmlspecialchars()和htmlentities()没有成功...

Rıd*_*men 24

getLastRequest():

仅当在trace选项设置为TRUE的情况下创建SoapClient对象时,此方法才有效.

$client = new SoapClient("http://myservice/?WSDL",array("trace"=>1));
Run Code Online (Sandbox Code Playgroud)

在这种情况下适合我.


use*_*467 7

也许是因为浏览器中的XML不会打印为字符串.如果是这样,尝试这样的事情:

echo "REQUEST:\n" . htmlentities($client->__getLastRequest()) . "\n";
Run Code Online (Sandbox Code Playgroud)