【问题标题】:Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL Couldn't load from 'http://88.XXX.XXX.XXX:8080/未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR: Parsing WSDL Couldn't load from 'http://88.XXX.XXX.XXX:8080/
【发布时间】:2013-06-24 20:43:15
【问题描述】:

我无法从 php 调用 Web 服务。 用我的个人网站,没有错。但是当我从我的专用服务器上尝试时:

致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从“http://88.XXX.XXX.XXX:8080/SongBoxServeur/GestionSongBox?wsdl”加载:无法加载外部实体“http://88.XXX.XXX.XXX:8080/SongBoxServeur/GestionSongBox?wsdl

我的网站和专用服务器上的相同 .php :

 function __construct( $_ip, $_num_serie) {
 $this->ip = $_ip;
$this->num_serie = $_num_serie;
$this->soap = new SoapClient("http://".$this->ip.":8080/SongBoxServeur/GestionSongBox?wsdl",array(
                                    'trace' => true,
                                    'exceptions' => true));
                                    }

问题可能是什么? (两者都启用了肥皂)提前谢谢

【问题讨论】:

    标签: php soap wsdl


    【解决方案1】:

    我发现我的问题:php.ini。

     default_socket_timeout = 0
    

    更改:

    default_socket_timeout =300
    

    现在,它成功了!!!

    【讨论】:

      【解决方案2】:

      确保可以从服务器访问 $this->ip。换句话说,在专用服务器上,确保您可以在浏览器中打开http://88.xxx.xxx.xxx:8080/SongBoxServeur/GestionSongBox?wsdl。如果不能,则需要先处理一些网络配置。

      【讨论】:

      • 我尝试命令:lynx 88.xxx.xxx.xxx:8080/SongBoxServeur/GestionSongBox?wsdl 并且我可以访问!
      • 嗯,好的。 allow_url_fopen 在你的 php.ini 中启用了吗?您可以使用 phpinfo() 进行检查。
      • 好的,很好。确保您可以使用file_get_contents() 从 PHP 下载文件。换句话说,运行 file_get_contents("http://".$this->ip.":8080/SongBoxServeur/GestionSongBox?wsdl") 并确保您获得了 WSDL。
      • 我有以下错误:警告:file_get_contents(88.X.X.X:8080/SongBoxServeur/GestionSongBox?wsdl‌​):未能打开流:连接超时 /var/www/path/include/songbox.php 在线10 但与google.fr 相同
      • 您粘贴的代码中有一些乱码,所以我不确定您要加载哪些 URL。 “名称或服务未知”通常意味着 DNS 查找在服务器上不起作用。你能ping www.google.fr 吗?这个怎么样? file_get_contents("http://www.google.fr/")
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 2016-03-02
      • 1970-01-01
      相关资源
      最近更新 更多