我試圖編寫我的PHP客戶端SOAP,它使用ASP.Net webservice,通過身份驗證進行安全保護。 我的PHP代碼:SOAP-ERROR客戶端:解析帶有身份驗證錯誤的WSDL
<?php
ini_set("soap.wsdl_cache_enabled", "0");
try {
$client = new SoapClient("https://www.webservicexxx.com:60443/service.asmx?WSDL", array('location' => 'https://webservicexxxcom:60443/service.asmx',
'login' => "myLogin", 'password' => "myPAssword"));
} catch (SoapFault $e) {
echo $e;
}?>
我收到此錯誤信息:
SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.webservicexxx.com:60443/service.asmx?WSDL' : failed to load external entity "https://www.webservicexx.com:60443/service.asmx?WSDL" in /var/www/webservice2/soap-client.php:5 Stack trace: #0 /var/www/webservice2/soap-client.php(5): SoapClient->SoapClient('https://www.web...', Array) #1 {main}
知道我設置啓用我的php.ini這個擴展Ubuntu的服務器上:
extension = php_openssl.dll
extension = php_soap.dll
extension = php_curl.dll
當我嘗試解析另一個PHP web服務在同一臺服務器上的驗證它的工作原理:
try {
$client = new SoapClient("https://xx.xx.xx.xx:443/webservice1/notificationManager.wsdl", array('location' => 'http://xx.xx.xx.xx./webservice1/soap-server.php',
'login' => "myLogin", 'password' => "myPass"));
} catch (SoapFault $exception) {
echo $exception;
}
爲什麼我無法從第一個webservice獲得響應?
只是複製和粘貼網址到瀏覽器中的WSDL來看看,如果你看到的WSDL。這樣做確實不是連接問題。 – slash28cu
wsdl文件'https://www.webservicexx.com:60443/service.asmx?WSDL'可通過互聯網瀏覽器訪問,並且需要認證。 –