2013-02-22 105 views
0

我有一個php soapserver運行。它是用本地php肥皂擴展名編寫的。 該服務加載本地文件並進行處理。php soapserver加載外部資源

file_get_contents("C:/xampp/htdocs/test.xml"); 

,但如果我試圖讓這樣

file_get_contents("http://192.168.10.11/test.xml"); 

它不工作和webservie返回一個Web服務器文件「zhcon失敗加載外部實體的HTTP」

是在沒有任何限制PHP SOAP服務器,我無法通過HTTP獲取文件?

實際的問題是,我想調用該服務器內的web服務。像一個web服務鏈......但總是失敗並出現上述錯誤信息......

你有沒有這方面的任何解決方案?

非常感謝!

+0

試試這個鏈接http://stackoverflow.com/questions/2897495/failed-to-load-external-entity-error-on-soap http://developer.affili.net/desktopdefault.aspx/tabid-104/218_read-26 /話題-88 /和'CURL'比''的file_get_contents更好 – 2013-02-22 07:05:09

回答

1

我喜歡使用curl:

$curl_init = curl_init(); 
curl_setopt($curl_init, CURLOPT_URL, 'http://example.com/test.xml'); 
curl_setopt($curl_init, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($curl_init); 

我不明白爲什麼你在做什麼,不應該工作,雖然。有時服務器可能會很慢關閉連接...根據這篇文章高達90秒: PHP file_get_contents very slow when using full url

您確定網址是正確的?你可以在瀏覽器中訪問它嗎?

+0

實際上這個問題是不是的file_get_contents,我用這只是爲了演示這個問題。 我想要做的是通過 $ client = new SoapClient(「http://192.168.10.11/test.wsdl」); 這意味着soapclient被包裝在soapserver中。當我嘗試通過的soapUI訪問SoapServer時,上述declartion總是失敗,錯誤消息「無法加載外部實體」 者均基於WSDL文件和服務器都可以訪問和有效 – user1857519 2013-02-22 08:41:18