接觸PHP第二天,要求PHP訪問WCF服務
着實痛苦,無從下手啊.
在網上查了很多資料知道PHP訪問WCF很方便
<?php $client = new SoapClient ( 'http://localhost:1447/Service1.svc?wsdl' ); .... ?>
如上即可訪問
但是報錯,無法找到SoapClient 這個類,在網上找答案,說是要去掉php.ini中;extension=php_soap.dll的分號去掉,然后重啟即可
由於不熟悉,兄弟一直在apach中的php.ini-dist中改了又改,一直無效.看了很多網站,都是說沒有去掉那個分號
可是我就納悶了,我去了咋就不行呢
蛋痛了一下午,最后甚至懷疑是不是人品出了問題
臨近下班,無意間又打開了localhost這個熟悉的界面
php.ini | F:\PHP\php-5.2.14-Win32\php-apache2handler.ini |
我的天,php.ini應該是F:\PHP\php-5.2.14-Win32\php-apache2handler.ini
當即修改,立馬見效.
<?php $client = new SoapClient ( 'http://localhost:1447/Service1.svc?wsdl' );//這是復制的wcf test client的路徑 $obj->x = 2; $obj->y = 3; $result= $client->Add ( $obj );//wcf 中add方法需要兩int,你懂滴 echo $result->AddResult;//現在還沒明白為啥結果集 $cc->AddResult $strParam->str="tianbang"; $str = $client->GetStr ( $strParam); echo $str->GetStrResult;//這里測試返回一個string,因為我想json,你懂滴 ?>
總結:使用soapclient需要注意地方如下:
- 檢查soap.dll是否存在
- 去掉extension=php_openssl.dll與extension=php_soap.dll前面的分號
- 認清php.ini文件
- 重啟apach,你懂滴