相关疑难解决方法(0)

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

我需要调试使用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);

?>
Run Code Online (Sandbox Code Playgroud)

代码执行的结果:

$php soap_test.php 

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

如何获取最后一个SoapClient请求的正文和标题的内容?

php soap

53
推荐指数
2
解决办法
6万
查看次数

标签 统计

php ×1

soap ×1