【问题标题】:SoapClient stays loading until timeoutSoapClient 保持加载直到超时
【发布时间】:2021-10-08 05:49:10
【问题描述】:

我正在尝试使用 SoapClient 从 Web 服务获取信息,但由于某种原因,当我执行代码时,它会一直加载直到超时,并且不会显示任何错误。我已经尝试使用extension=php_openssl.dll 设置php.ini 并设置extension=php_soap.dll,尝试在网站托管中执行xampp 中的代码,但错误仍然存​​在。有一刻我以为是页面有问题,但链接工作正常https://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?WSDL

这是我的功能:

    $options = [
    'cache_wsdl'     => WSDL_CACHE_NONE,
    'trace'          => 1,
    'stream_context' => stream_context_create(
        [
            'ssl' => [
                'verify_peer'       => false,
                'verify_peer_name'  => false,
                'allow_self_signed' => true
            ]
        ]
    )
];

    $client = new SoapClient('https://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?WSDL', $options);
    
    $parametros = array('nCdServico' => '04510', 'sCepOrigem' => '82220020', 'sCepDestino' => '08090284');
    
    $response = $client->CalcPrazo($parametros);
    
    var_dump($response);

【问题讨论】:

    标签: php web soap wsdl


    【解决方案1】:

    由于您没有看到任何错误,因此可能是 display_errors 在您的环境中处于非活动状态。您可以做的解决方法是注册一个错误处理程序,如第一个示例中所述 https://www.php.net/manual/en/function.set-error-handler.php#example-468 然后您应该会看到发生的任何错误。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 2014-07-09
      • 2015-04-12
      • 1970-01-01
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 2012-02-25
      相关资源
      最近更新 更多