2011-10-03 37 views
0

我在WS編程中很新穎。
我使用delphi-7創建了WS(我從http://www.digicoast.com/delphi_soap_standalone.html中選擇了該基)
當我通過安裝到我的PC上的XAMPP php nusoap使用它時,它運行良好,我得到了所需的結果。
但是,當我通過php nusoap在我的虛擬主機上使用它時,它什麼也沒有返回。
當我把調試的代碼,它說:HTTP錯誤:無法打開套接字連接到服務器。錯誤(110):連接超時。
這裏是我的PHP代碼:delphi獨立的webservice通過php消費時返回http錯誤

<?php 
    require_once('../lib/nusoap.php'); 
    $aparams = 'kode_query='.'TRIPS_ALL'.'&'. 
       'kode_user='.$username.'&'. 
       'kode_id='.$uid; 
    $client = new nuSoap_Client('http://110.139.181.78:9696/wsdl/IVSoftWS'); 
    $xml_data = $client->call('GetXMLDataTable',$aparams); 
    echo '<h2>Debug</h2>'; 
    echo '<pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>'; 
    echo '<h2>Error</h2>'; 
    echo '<pre>' . htmlspecialchars($client->getError(), ENT_QUOTES) . '</pre>'; 
    ?> 

信息:我的虛擬主機使用PHP 5.2.9,而我的XAMPP使用PHP 5.3.1
問:我怎樣才能通過虛擬主機的PHP代碼相同的結果?
任何幫助真的很感激。

回答

1

您是否檢查過防火牆設置?服務器似乎在端口9696上運行,需要在服務器上打開此端口(更精確地說:運行Delphi 7 Web服務服務器應用程序的服務器)以便傳入連接。

要驗證,您可以使用來自其他計算機的網絡瀏覽器(或wget),並嘗試打開服務URL。

+0

謝謝。但正如我所提到的,在使用XAMPP從我的PC訪問相同的WS時,我沒有任何問題。防火牆是好的,因爲我可以從我的電腦得到結果。 – wan1402

+0

也許防火牆被配置爲只接受來自特定IP地址範圍的請求。你可以ping通或telnet到Web服務從Web託管環境? – mjn

+0

是的,我嘗試使用其他計算機(與XAMPP和WAMP)不同的連接,我發現它也工作得很好。似乎是防火牆沒有問題。但是,我沒有嘗試從虛擬主機ping/telnet。我不知道該怎麼做。僅供參考,虛擬主機cPanel版本:Pro 1.0(RC1)。你的幫助真的很感激。謝謝。 – wan1402