我使用基于Soap的Web服务查询PHP和2个本地智能手机应用程序(ios和android),在webservice开发团队进行了一些编辑之后,在PHP方面被打破,但从智能手机应用程序没有问题。解决SoapFault异常:[HTTP]无法解析URL
这里是一个简单的脚本来重现问题
<?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>';
?>
我得到以下错误:
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
方法TPGetLocalisationVersion存在和参数是否正确。这个代码在几天前用于工作。
我也可以使用wget从PHP Webserver获取wsdl。
我用一些在线工具测试了WSDL文件,看起来没问题。
任何建议来调试呢?我敢肯定,我
能你在wsdl中看到''或''? –
Wrikken
2013-03-06 13:53:18