我花了最近几天试图找出为什么我的soap客户端无法连接,任何帮助表示赞赏。非常简单的问题,我的肥皂客户;用soapClient连接到https
$soapClient = new SoapClient("AXLAPI.wsdl", array('trace'=>true, 'exceptions'=>true,'location'=>"https://ip_address:8443/axl",
'login' => "username",'password'=> "password"));
产生这个非常常见的错误;
Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /var/www/html/axl_test.php:18 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://ip_address...', 'CUCM:DB ver=8.5...', 1, 0) #1 /var/www/html/axl_test.php(18): SoapClient->__call('getLine', Array) #2 /var/www/html/axl_test.php(18): SoapClient->getLine(Array) #3 {main} thrown in /var/www/html/axl_test.php on line 18
我在另一台服务器上运行完全相同的代码,它运行良好。我认为这与SSL问题有关,因为wireshark会捕获多次重传。另外,当我有意将用户名和密码更改为false时,错误保持不变。所以,在握手期间一定会发生。我可以从肥皂客户端服务器访问远程服务器,没有问题,并且可以登录。
错误似乎表明它尝试通过HTTP进行连接,但我的URL特别要求使用HTTPS。我真的不明白问题出在哪里。
这不是SOAP错误; *“无法连接到主机”*表示TCP连接无法建立。使用某物。像'curl https:// ip_address:8443/...'来检查你是否可以建立到该端口的连接。由于它是一个非标准的端口,因此可能会被网络中的某种防火墙阻止。 – helmbert
你在代理服务器或防火墙后面吗? –
我根本不在任何防火墙之后。 – Kimomaru