SOAP-ERROR:解析WSDL(PHP版本5.6.17)

时间:2016-11-24 16:50:38

标签: php web-services soap wsdl

真的希望有人可以提供帮助,因为我似乎无法解决这个问题。

我在使用下面的代码在我的网站上工作时遇到了很大困难。 该脚本的目的是根据提供的注册号返回车辆长度。

问题是,当我将其移至我的实时环境时,脚本根本无法工作。请问有人可以提出可能的解决方案吗我不明白为什么它在开发环境中工作得很好但是当我尝试在我的主站点上运行它时,我收到以下错误:

SOAP-ERROR:解析WSDL:无法从' https://website.com/CarLengthChecker.asmx?WSDL'加载:未能加载外部实体" https://website.com/CarLengthChecker.asmx?WSDL"

 <?php

$carReg = "0000000";
try{

$opts = array(
    'http'=>array(
        'user_agent' => 'PHPSoapClient'
        )
    );

$context = stream_context_create($opts);
$client = new SoapClient       ('https://wesite.com/CarLengthChecker.asmx?WSDL',
                         array('stream_context' => $context,
                               'cache_wsdl' => WSDL_CACHE_NONE));

$result = $client->GetVehicleDetails(array(
                                'VRM' => $carReg,

                                ));
print_r($result);
   }
       catch(Exception $e){
      echo $e->getMessage();
  }

  ?>

我可以从实时服务器上的浏览器访问WSDL地址,而不是从脚本中访问。

我已经检查了实时的PHP设置,并且可以确认OpenSSL和&amp;肥皂 已启用。

1 个答案:

答案 0 :(得分:0)

我发现的解决方案是使用nusoap库(www.sourceforge.net/projects/nusoap)。此问题可能特定于我们的实时服务器环境,但如果您遇到类似问题,我建议您尝试使用它。