2011-04-03 105 views
1

我一直在試圖弄清楚有什麼問題,以及這個試圖進行SOAP調用的下面的PHP代碼有什麼問題。我無法得到它的時候我主辦的免費虛擬主機網站使用免費虛擬主機網站的NUSOAP問題

include_once("nusoap/lib/nusoap.php"); 

// create the client and define the URL endpoint 
$client = new nusoap_client('http://xxxyyy.zzz:1881/'); 

// set the character encoding, utf-8 is the standard. 
$client->soap_defencoding = 'UTF-8'; 

$client->call('sendSMS', array('uName' => 'kd81fg', 
      'uPin' => '18416', 
      'MSISDN' => '09156300965', 
      'messageString' => 'THIS IS A SAMPLE MESSAGE', 
      'Display' => '1', 
      'udh' => '', 
      'mwi' => '', 
      'coding' => '0'), 
      "http://ESCPlatform/xsd"); 

PHP的工作時,我嘗試使用此託管在我的本地主機,它的工作,但是當我試圖把它上傳(我試過很多免費的網站託管網站)到一個虛擬主機網站,並嘗試運行它,它不會工作。

我不知道什麼是錯,但我很確定代碼是完美的。我猜測我嘗試的免費網站託管網站不允許使用SOAP/XML,或者cURL被禁用,或者url_fopen在其php.ini(con​​fig)或其他地方關閉。我現在不知道什麼是錯,我需要立即完成我正在做的事情。

更新:我想回應什麼錯誤,在這裏它說什麼

HTTP Error: Couldn't open socket connection to server http://xxxyyy.zzz:1881/ , Error (111) Connection refused.

我檢查捲曲和東西的phpinfo。

我也在想,也許問題是在免費的主機上,他們不允許連接端口1881,但我試圖掃描並檢查如果1881是打開我的本地主機上,它說我的1881是關閉的,現在我很困惑。

回答

1

在免費主機上關閉1881號端口很不方便。嘗試在電腦/路由器上關閉它。如果出現相同的錯誤,則應該是這個問題。

編輯:你檢查phpinfo()捲曲和東西?

編輯2:您是否需要將客戶端的主機添加到服務提供商的網站上的配置文件中,例如當您要使用Google maps API時?

0

很多時候,免費的網絡主機將阻止傳出端口。如果你可以用apache或nginx設置一個反向代理(我假設你在託管SOAP服務器)。