PHP調用WCF小結

來源:互聯網
上載者:User
新工作第三周,做了3年多的.Net,突然急轉彎做PHP,漂移過彎,速度180邁

由於資料的整合,在項目中不得不使用PHP調用WCF

一頭的霧水,網上相關的資料少又少,在phpChina發個文章,還沒有人回,看來部落格園才是永遠的家

感謝dudu大神的不厭其煩的回複協助,Thanks

==========以下是本文===============

使用PHP調用WCF非常簡單,所有的過程,只需要兩個字,仔細

一、準備工作:

1.soap.dll

查看PHP安裝包裡面的ext 是否有 php_soap.dll [PHP自動整合的,一般情況下都會存在,不存在可以在網上下載]

2.修改php.ini檔案

第一步確認後,繼續找到PHP的設定檔。由於每個人的環境不同,比如有的是使用整合式開發環境,一鍵安裝

有的同學是自己分別安裝,可能php.ini的位置會不同。此時的做法是使用 phpinfo()進行查看

找到檔案後,開啟檔案,

尋找到

;extension=php_soap.dll

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

如果沒有找到這一行,不用擔心,自己手動添加這一行也可以.

3.重啟apach

二、調用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 '
';
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 '
';
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

以上就介紹了PHP調用WCF小結,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.