摘要:具體如何操作這里跳過,實現(xiàn)是需要擴展的。返回值也很特別,不是直接返回,而是把它放到一個對象里再返回。返回值中值對應的是中的名稱。最后按運行可以查看到對應的輸出,如下圖所示,說明實現(xiàn)的在中可以正確調(diào)用。
使用PHP搭建起一個其他語言如C#、JAVA可用的Webservice的方法與網(wǎng)上大多數(shù)所述的用PHP建立的webservice感覺是有差別的。對于接口的輸入?yún)?shù)及輸出參數(shù)較為復雜的情況下,這里建議直接將輸入?yún)?shù)及輸出參數(shù)統(tǒng)一為XML string或者是Json string。這里著重介紹的是怎么實現(xiàn)一個webservice,而對于輸入輸出參數(shù)的格式,如何操作XML string就不多介紹,一搜一大把,但是要注意對于XML和json的話要注意參數(shù)的過濾和檢查。該文介紹的是帶wsdl文件的webservice,no-wsdl的方式較為簡單,這里不做介紹
檢查并開啟soap擴展首先需要開啟soap擴展,即將php.ini文件中的extension=php_soap.dll前的分號去掉然后重啟apache。查看phpinfo是否開啟soap。具體如何操作這里跳過,實現(xiàn)webservice是需要soap擴展的。
在VS中建立C#的webservice網(wǎng)上找到的php生產(chǎn)wsdl的方式類生成的wsdl文件從而搭建的webservice只有php能用,簡直不要再坑了。所以這里就以曲線救國的方式來產(chǎn)生wsdl文件。先通過C#搭建一個webservice來生成wsdl,之后只要稍加更改就可以用了。
1.新建項目->ASP.NET Web應用程序建立一個工程;
2.b.右擊解決方案->添加->新建項選擇Web服務(ASMX);
3.編寫接口,注意C#中要發(fā)布出來的function前要加[WebMethod],其中可能還要新建一些類:
4.編寫完成按ctrl+F5運行出現(xiàn)如下所示,之后在url后面加上?wsdl會出現(xiàn)如下圖所示的wsdl,另存為就可以了。
5.將生成的WSDL文件中的
6.PHP編寫webservice接口:
7.發(fā)布webservice:
setClass(SrcMESWebService::class); $webserver->handle();
注意,Web Service的方法在聲明時至多一個參數(shù), 可是在調(diào)用該方法時就必須傳value1,value2兩個參數(shù)。(這一點十分令人費解,我的理解是,在調(diào)用該方法時,系統(tǒng)把所有參數(shù)都放到一個對象里傳過來)。返回值也很特別,不是直接返回$arry,而是把它放到一個對象里再返回。返回值中key值對應的是wsdl中的名稱。
使用C#進行調(diào)用測試1.新建項目->ASP.NET Web應用程序建立一個工程,與前面的一樣;
2.右擊項目下面的引用->添加服務引用,點擊高級跳出服務引用設置,點擊里面右下角的添加Web引用,出現(xiàn)如下圖所示:
3.在URL中填入發(fā)布的webservice服務的地址,回車后若正確出現(xiàn)下圖,之后根據(jù)需求修改Web引用名后點擊添加引用:
4.然后右擊項目->添加->新建項,選擇web窗體,編輯.aspx.cs文件的內(nèi)容。
5.e.最后按ctrl+F5運行可以查看到對應的輸出,如下圖所示,說明php實現(xiàn)的webservice在C#中可以正確調(diào)用。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28534.html
摘要:它使用方式,接收和響應外部系統(tǒng)的某種請求?;仡櫸覀冊趯W習基礎網(wǎng)絡編程章節(jié)已經(jīng)知道了這么一個連接了。使用指定名稱的命名空間。名詞簡單對象訪問協(xié)議作為一個基于語言的協(xié)議用于有網(wǎng)上傳輸數(shù)據(jù)。以的根元素出現(xiàn)。代理這么一個概念就更加清晰了。 WebService介紹 首先我們來談一下為什么需要學習webService這樣的一個技術(shù)吧.... 問題一 如果我們的網(wǎng)站需要提供一個天氣預報這樣一個需求...
摘要:對數(shù)據(jù)進行排序是必不可少的功能。對簡單的名值對象按照指定屬性和排序方向進行排序根據(jù)排序?qū)傩约芭判蚍较?,對兩個項依次進行比較,并返回代表排序位置的值。按照指定屬性及升降方向進行排序。 標簽:JavaScript 對象數(shù)組 排序 引言 在以數(shù)據(jù)為中心的信息系統(tǒng)中,以表格形式展示數(shù)據(jù)是在常見不過的方式了。對數(shù)據(jù)進行排序是必不可少的功能。排序可以分為按單個字段排序和按多個字段不同排序方向排序。...
摘要:本文介紹如何在中開發(fā)接口,以及接口如何同時支持和兩種協(xié)議。該功能很簡單,就是通過一個人的姓名查詢這個人的詳細信息。就是關(guān)鍵,如本次請求報文如下就是,對應。測試使用進行測試,通過地址導入文件進行測試。測試這樣就實現(xiàn)了和同時提供的目的。 介紹spring boot web模塊提供了RestController實現(xiàn)restful,第一次看到這個名字的時候以為還有SoapController,...
閱讀 678·2023-04-26 02:03
閱讀 1045·2021-11-23 09:51
閱讀 1159·2021-10-14 09:42
閱讀 1750·2021-09-13 10:23
閱讀 974·2021-08-27 13:12
閱讀 851·2019-08-30 11:21
閱讀 1010·2019-08-30 11:14
閱讀 1053·2019-08-30 11:09