Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解决SoapFault异常:[HTTP]无法分析URL_Soap_Php_Webservice Client_Soapfault - Fatal编程技术网

解决SoapFault异常:[HTTP]无法分析URL

解决SoapFault异常:[HTTP]无法分析URL,soap,php,webservice-client,soapfault,Soap,Php,Webservice Client,Soapfault,我在一个projet上工作,它使用PHP查询的基于Soap的Web服务和2个本机智能手机应用程序(ios和android),在webservice开发团队进行了一些编辑之后,PHP方面的东西被破坏了,但智能手机应用程序没有问题 下面是一个简单的脚本来重现这个问题 <?php error_reporting(E_ALL); $url = 'http://www.xxxxx.com/service.awws?wsdl'; $sKey = 'thekey'; $cl

我在一个projet上工作,它使用PHP查询的基于Soap的Web服务和2个本机智能手机应用程序(ios和android),在webservice开发团队进行了一些编辑之后,PHP方面的东西被破坏了,但智能手机应用程序没有问题

下面是一个简单的脚本来重现这个问题

<?php
error_reporting(E_ALL);
$url          = 'http://www.xxxxx.com/service.awws?wsdl'; 

$sKey    = 'thekey';

$client= new SoapClient($url, array('trace' => 1,
                                   'exception' => 1,
                                   'encoding'      => 'UTF-8',
                                   'cache_wsdl' => WSDL_CACHE_NONE));


$params = array('sKey' => $sKey, 'nLangID' => 1);

$res      = $client->TPGetLocalisationVersion($params);

echo '<pre>Res : ';
print_r($res);
echo '</pre>';

?>
方法TPGetLocalizationVersion存在并且参数正确。 这段代码几天前还可以使用

我还可以使用wget从PHP Web服务器获取wsdl

我用一些在线工具测试了WSDL文件,看起来还可以


对调试这个有什么建议吗?我确信WSDL没有被缓存,因为我在一个专用服务器上,并且完全禁用了php中的WSDL缓存。ini

问题解决了,问题在soap中:WSDL中的地址(坏值)

您能看到WSDL中的
吗?
Fatal error: Uncaught SoapFault exception: 
[HTTP] Unable to parse URL in /home/xxxx/www/test.php:14 Stack trace: #0 [internal function]: 
SoapClient->__doRequest('__call('TPGetLocalisati...', Array) #2 /home/tmpweb/www/test.php(14): 
SoapClient->TPGetLocalisationVersion(Array) #3 {main} thrown in /home/xxxx/www/test.php on line 14