[請益] nusoap問題

作者: opqr9877 (opqr)   2016-03-29 14:22:38
最近在寫一個使用nusoap的網頁
目前確定的是client端與server端互相ping的到
兩端的防火牆也都關閉了
client端版本為windows server 2012 IIS8.5
server端版本為windows. server2003 IIS6

可是在call的時候卻沒有抓到資料出現此訊息
err:HTTP Error:couldn't open socket connection to server http://xx.xxx.xx.xxx/w
,因為連線的主機無法回應
想請問原因及解決方法
程式碼如下
$url='http://xx.xxx.xx.xxx/webservice.asmx?wsdl';
$client =new nusoap_client($url,false);
$funcname='chkmemberdata';
$params=array('menid'=>'testmen','pwd'=>'0000');
$backarr=$client->call($funcname,$params);
if($err=$client->getError()){
echo "err:".$err;
}
手機排版
造成閱讀不適請見諒
作者: weiclin (CC)   2016-03-29 15:50:00
如果你開瀏覽器可以連上那個網址嗎?
作者: opqr9877 (opqr)   2016-03-29 16:14:00
可以 所以非常納悶
作者: weiclin (CC)   2016-03-29 17:40:00
有curl的話,試試看先 $client->setUseCURL(true)另外檢查一下 php.ini 有沒有限制 fsockopen 的使用像是 allow_url_fopen 或是 disable_functionsnusoap會用到fsockopen,所以你可以把問題簡化先確認 fsockopen 能用, 也能開啟你要的網址
作者: opqr9877 (opqr)   2016-03-29 18:04:00
$client->setUseCURL(true) 出現HTTP Error :cURL ERRORFailed connet ti xx.xxx.xx.xxx:80...下面有content:http_code:0……等文字想請問php.ini裡面沒有fsockopen的屬性是要自己增加嗎還有allow_url_open是設on. disabled_functions的設off嗎
作者: weiclin (CC)   2016-03-29 18:22:00
allow_url_fopen on, disable_functions應該空的
作者: opqr9877 (opqr)   2016-03-30 08:40:00
w大我發現$client->setUseCURL(true)並沒有錯誤訊息 而php.ini的allow_url_opqn跟disable_functions的設定也都如你所說的那樣 這樣還有可能是哪裡的問題
作者: weiclin (CC)   2016-03-30 10:57:00
你先用fsockopen試試看能不能抓到google.com的html可以的話就不會是fsockopen的問題,往防火牆檢查吧遇到這種情況我通常是wireshark抓封包看一下就大概知道了封包有沒有過來,連線有沒有建立,有沒有回應等等的
作者: opqr9877 (opqr)   2016-03-30 13:24:00
我另外用一支程式參照這個網站的做法 http://goo.gl/LEqpzD. 結果出現這個畫面 " target="_blank" rel="nofollow">
這樣是我的socket出問題了嗎 囧
作者: weiclin (CC)   2016-03-30 14:41:00
你可以先在本機跑,確認你的php能抓到東西然後放到server就不行了的話,檢查看看IIS的權限?因為我對IIS不熟,不知道有沒有可能限制這個另外fsockopen沒那麼複雜,看官方的 example #1 就可以了http://php.net/manual/en/function.fsockopen.php看起來是成功啦,fsockopen沒有嫌疑了
作者: opqr9877 (opqr)   2016-03-31 11:38:00
好的 謝謝w大的幫忙

Links booklink

Contact Us: admin [ a t ] ucptt.com