PHP調用WCF小結

新工做第三週,作了3年多的.Net,忽然急轉彎作PHP,漂移過彎,速度180邁php

因爲數據的整合,在項目中不得不使用PHP調用WCFhtml

一頭的霧水,網上相關的資料少又少,在phpChina發個帖子,尚未人回,看來博客園纔是永遠的家測試

感謝dudu大神的不厭其煩的回覆幫助,Thanksspa

==========如下是正文===============.net

使用PHP調用WCF很是簡單,全部的過程,只須要兩個字,仔細code

1、準備工做:htm

1.soap.dllblog

查看PHP安裝包裏面的ext 是否有 php_soap.dll [PHP自動集成的,通常狀況下都會存在,不存在能夠在網上下載]開發

2.修改php.ini文件博客

第一步確認後,繼續找到PHP的配置文件。因爲每一個人的環境不一樣,好比有的是使用集成開發環境,一鍵安裝

有的同窗是本身分別安裝,可能php.ini的位置會不一樣。此時的作法是使用 phpinfo()進行查看

找到文件後,打開文件,

查找到 

;extension=php_soap.dll

這一行,而後將前面的分號去掉。

若是沒有找到這一行,不用擔憂,本身手動添加這一行也能夠.

3.重啓apach

2、調用WCF

以上123步完成後,咱們的準備工做就完成了,接下來就是寫代碼

假設你們都會WCF,都有PHP的基礎

1.發佈一個WCF以備調用

下面是WCF的兩個方法

public string SayHello()
{
return "Hello World";
}

public string GetData(string value)
{
         return "You entered is : " + value;
}

2.PHP端調用

$wcfURL = 'http://192.168.3.102/Service1.svc?wsdl';//【這是WCF的地址】
$wcfClient = new SoapClient ( $wcfURL );

$result1 = $wcfClient->SayHello ();
print_r ( $result1 );

echo '<br>';
echo $result1->SayHelloResult;//這裏是SayHello+Result合在一塊兒寫,具體緣由我不知道

以上PHP代碼正常狀況下應該輸出以下

stdClass Object ( [SayHelloResult] => Hello World )

Hello World

第一個方法就調用成功了

咱們繼續調用有參數的方法

這個時候必定要用WCF測試客戶端進行測試WCF

看到我一開始的WCF的方法,參數是 GetData(string value),而這裏顯示t,這是由於在WCF是同事幫我寫的,他偷懶,直接在定義的時候寫的 GetData(string t)。爲了這個偷懶,付出了沉重的代碼,整整10分鐘!

詳情鏈接:http://q.cnblogs.com/q/71331/

如下是修改後的PHP代碼

$args = array('t' => '312');
$wcfClient->GetData($args);
echo $result->GetDataResult;
echo '<br>';
print_r ( $result );

以上正常輸出應該是

You entered is :312 
stdClass Object ( [GetDataResult] => You entered is : 312) 

 

以上就完成了PHP對WCF的調用了,固然,有些小夥伴會問高級一點的呢,好比整個類什麼的做爲參數,返回個類什麼的................弱弱的說,尚未玩到那麼高級的..

再次謝謝dudu

如下爲參考文章:http://blog.csdn.net/love__coder/article/details/6067611

http://www.cnblogs.com/tianbang/archive/2012/05/07/2489149.html

相關文章
相關標籤/搜索