2017-02-15 135 views
0

我有一個經常對特定API進行SOAP調用的網站。該網站在幾個月的時間內工作正常,但是SOAP功能在沒有任何已知原因的情況下突然停止工作,錯誤是「無法連接到主機」。肥皂客戶端停止工作

WSDL服務尚未移動或關閉。

從12版到17版的SOAP客戶端這個我更新的Plesk後仍無法正常工作,但現在它是一個不同的錯誤:

SOAP的錯誤:解析WSDL:無法從(URL)加載:失敗加載外部實體(URL)

這是我的SOAP調用:

$opts = array('http'=>array('user_agent' => 'PHPSoapClient')); 

$context = stream_context_create($opts); 
libxml_disable_entity_loader(false); 

$client = new SoapClient($url,array('stream_context' => $context,'cache_wsdl' => WSDL_CACHE_NONE)); 

任何可能的解決方案?

編輯: 新信息進來了,所以API服務器有DNS問題,我該如何恢復我的連接到API?

+0

看起來他們刪除了他們的SOAP服務器。或者移動它。或者他們阻止你。 – RiggsFolly

+0

服務器仍然在那裏,我懷疑他們已經阻止了我,因爲有錯誤密碼的錯誤代碼 – user3186034

+0

我沒有看到你的問題中的任何地方的錯誤信息。 – RiggsFolly

回答

0

你的PHP服務器顯然沒有伸出肥皂服務器。這可能幫助:

  • 嘗試直接從PHP服務器檢查,如果該服務可到達:

    1. wget的{URL}> page.txt
    2. 納米(或同等學歷)page.txt
  • 嘗試使用其他程序來消耗服務器,我建議Soap Ui

  • 在php服務器上,嘗試ping服務URL並查看IP是否已解析。

  • 是否有其他的SOAP服務是可到達的,你可以使用this service

如果這不能幫助你想出一個解決方案,張貼在這裏的結果,以幫助他人解決它。

+0

按照您的步驟: – user3186034

+0

如果有DNS問題嘗試不使用域,但IP直接。 –