【问题标题】:Fatal error: Uncaught SoapFault exception [wsdl] SOAP-ERROR致命错误:未捕获的 SoapFault 异常 [wsdl] SOAP-ERROR
【发布时间】:2015-05-20 12:16:29
【问题描述】:

我正在尝试使用 wsdl、soap 和 php 进行测试,但我遇到了错误:

致命错误:未捕获的 SoapFault 异常 [wsdl] SOAP-ERROR

我现在有 2 个文件,一个是给定的 wsdl,而 client.php 仅用于测试:

<?php

   $sClient = 'http://localhost/test/service/wbs.wsdl';
   $wsdl = new SoapClient ( '$sClient') ;
   echo "test";

?>

我遇到了这个错误:

致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR: Parsing WSDL:无法从“hp://localhost/test/service/wbs.wsdl”加载: 未能加载外部实体“hp://localhost/test/service/wbs.wsdl” 在 C:\wamp\www\Outbound\client.php:4 堆栈跟踪:#0 C:\wamp\www\test\client.php(4): SoapClient->SoapClient(' hp://localh...') #1 {main} 在 C:\wamp\www\test\client.php 上抛出 第 4 行

我确实在php.ini中更改了soap的扩展名,我做了其他帖子中发布的所有修改,但没有任何效果。

【问题讨论】:

    标签: php soap wsdl wamp


    【解决方案1】:
    $wsdl = new SoapClient ( '$sClient') ;
    

    这行不通。使用:

    $wsdl = new SoapClient ( "$sClient") ;
    

    或者 - 更好:

    $wsdl = new SoapClient ( $sClient) ;
    

    【讨论】:

    • 试试var_dump(file_get_contents("http://localhost/test/service/wbs.wsdl")); 并给出输出。
    • 它显示:string ' wsdl 的前 4 行和 echo 测试。
    • 报错信息failed to load external entity表示加载失败...
    【解决方案2】:

    试试看

    $client = new SoapClient("http://{$_SERVER['HTTP_HOST']}/test/service/wbs.wsdl");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多