gpt4 book ai didi

php - 如何转储 SoapClient 请求进行调试?

转载 作者:IT王子 更新时间:2023-10-28 23:55:45 27 4
gpt4 key购买 nike

我需要调试一些使用 soap 客户端的代码。我在 php.net 中找到了 getLast* 方法,但是当我尝试获取最后一个调试请求时,它返回 NULL

<?php

$client = new SoapClient("http://www.webservicex.net/ConverPower.asmx?WSDL");

$response = $client->ChangePowerUnit(array(
"PowerValue" => 100,
"fromPowerUnit" => "horsepower",
"toPowerUnit" => "megawatts"
));


echo "====== REQUEST HEADERS =====" . PHP_EOL;
var_dump($client->__getLastRequestHeaders());
echo "========= REQUEST ==========" . PHP_EOL;
var_dump($client->__getLastRequest());
echo "========= RESPONSE =========" . PHP_EOL;
var_dump($response);

?>

代码执行结果:

$php soap_test.php 

====== REQUEST HEADERS =====
NULL
========= REQUEST ==========
NULL
========= RESPONSE =========
object(stdClass)#2 (1) {
["ChangePowerUnitResult"]=>
float(0.0746)
}

如何获取上一次SoapClient请求的body和headers的内容?

最佳答案

These functions 仅当创建 SoapClient 对象时 trace 选项设置为 TRUE 时才有效。

尝试:

$client = new SoapClient("http://www.webservicex.net/ConverPower.asmx?WSDL", array('trace' => 1));

关于php - 如何转储 SoapClient 请求进行调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14030228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com