我已经在这工作了 12 个小时的大部分时间。我不断收到连接问题。这是一个非 https 请求,尽管我尝试启用 open_ssl.dll 和其他建议。
我可以在浏览器中很好地查看 WSDL http://www.soapclient.com/interop/interopTest.html也为我返回值。
我的代码:
<?php
function doWebService()
{
########################################################################
# Do some SOAP / Call a Web Service
$soap_url = 'http://WEBSITE/WebServices/PublicAPI.asmx?WSDL';
//$soap_url = 'x.x.x.x/WebServices/PublicAPI.asmx?WSDL';
$sh_param = array(
'username' => 'admin_username',
'password' => 'admin_password');
$soap_client = new SoapClient($soap_url);
$test = $soap_client->Authenticate($sh_param);
echo $test . "\nDone";
/*
try
{
$soap_url = 'http://WEBSITE/WebServices/PublicAPI.asmx?WSDL';
//$soap_url = 'x.x.x.x/WebServices/PublicAPI.asmx?WSDL';
$sh_param = array(
'username' => 'admin_username',
'password' => 'admin_password');
$soap_client = new SoapClient($soap_url);
$test = $soap_client->Authenticate($sh_param);
echo $test . "\nDone";
}
catch (Exception $e)
{
echo "<pre>";
print_r($e);
echo "</pre>";
exit;
}
*/
}
doWebService();
?>
它在 $soap_client = new SoapClient($soap_url) 行上失败。我尝试在 PHP 4.0、5.2、5.3 之间进行更改。5.4 和 6.0。没有帮助。我试过启用
extension=php_curl.dll
extension=php_openssl.dll
extension=php_soap.dll
这是在我的网站上使用主机:ntchosting.com
试图访问另一个 API。
实际错误代码
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://WEBSITE.com/WebServices/PublicAPI.asmx?WSDL' : failed to load external entity "http://WEBSITE.com/WebServices/PublicAPI.asmx?WSDL" in /home/www/MY_WEBSITE.com/main_php/_test_public_api.php:13 Stack trace: #0 /home/www/MY_WEBSITE.com/main_php/_test_public_api.php(13): SoapClient->SoapClient('http://WEBSITE...') #1 /home/www/MY_WEBSITE.com/main_php/_test_public_api.php(50): doWebService() #2 {main} thrown in /home/www/MY_WEBSITE.com/main_php/_test_public_api.php on line 13
我想要做的就是能够使用 API 来检索数据并在我所拥有的和另一个已建立的软件之间提供同步。每当我尝试弄湿双手时,似乎都不是一件容易的事。
谢谢,jc