错误:未找到传输,或者尚未支持所选传输!
当我呼叫网络服务时,会发生此错误。
这是我的代码:
include("lib/bankmellat/nusoap.php");
$client = new \bankmellat\nusoap_client('https://pgwstest.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl');
$namespace = 'http://interfaces.core.sw.bps.com/';
$parameters = array();
$parameters['terminalId'] = $terminalId;
$parameters['userName'] = $userName;
.
.
.
$result = $client->call('bpPayRequest', $parameters , $namespace);
echo '<h2>Error!!</h2><pre>' . $client->getError(); . '</pre>';
ubuntu 12.04
apache2的
PHP 5.3.10
cURL在php上启用 - 版本:7.21.3
cURL支持的协议:dict,file,ftp,ftps,gopher,http,https,imap,imaps,ldap,ldaps,pop3,pop3s,rtsp,smtp,smtps,telnet,tftp < / p>
我必须说我在具有几乎相似资格的其他服务器上实现了此代码,并且它们仍在工作!
请帮助解决这个问题。日Thnx。
答案 0 :(得分:4)
最后我发现了我的问题! 主要问题是 php版本(5.3.10)!
从PHP 5.3.3开始,与命名空间类名的最后一个元素同名的方法将不再被视为构造函数。此更改不会影响非命名空间的类。
所以我将nusoap_client类中的 nusoap_client (旧构造函数样式)函数更改为 __ construct 并修复了问题!
现在我又遇到了另一个错误并正在努力解决它:
wsdl错误:获取https://pgws.bpm.blabla.ir/pgwchannel/services/pgw?wsdl - HTTP错误:未知方案
答案 1 :(得分:1)
当使用命名空间时,旧的php OOP(php4)构造不运行auto。 将__construct方法添加到所有类。 在新的__construct方法中调用old构造之后。
或使用此编辑文件&gt; nusoap_client.php