日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于SOAP的几篇文章

發(fā)布時間:2023/12/10 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于SOAP的几篇文章 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自:/show-1598-1.shtml

PHP操作soap我總覺得是一件非常痛苦的事情,但沒有辦法,現(xiàn)在很多功能都是基于WebService的,比如那個amazon的,但其實很多 公司都也還是提供了restful之類的接口,使得PHP與其他系統(tǒng)的數(shù)據(jù)交換比較方便。但讓人痛苦的,有時候,你PHP不得不充當(dāng) soapServer,這時候,怎么做呢?zendstudio可以根據(jù)你的函數(shù)和類,幫你生成wsdl,但大多數(shù)情況下,你沒有直接生成的手段,怎么 辦?官方的soapServer功能也太少了一點。你是否還準(zhǔn)備用nuSoap來充當(dāng)server呢?

搜集了一些資料,用來方便的協(xié)助你生成soap接口。如果只是自己的內(nèi)部調(diào)用,可以嘗試用phprpc或者它的升級版hprose進(jìn)行嘗試。

1、利用NuSOAP發(fā)布wsdl。這是PHP5之前的做法了,因為在PHP5之后,直接有soap庫支持,如何發(fā)布wsdl,請看:/arlon/blog/item/d8267d1e6ca4adf01ad576cc.html ,然而這個網(wǎng)址打開是白屏的,內(nèi)容可以稍看這里:

2.4.1 創(chuàng)建支持 WSDL 的 WEB 服務(wù) 為了實現(xiàn) WEB 服務(wù)程序?qū)?WSDL 的支持,需要使用 soap_server 的 configureWSDL 方法,并且在調(diào)用 soap_server 的 register 方法注冊 WEB 服務(wù)程序時,需要提供更詳細(xì)的參數(shù)。看下面的代碼,代碼的文件名是 “/nusoap/nusoap_server3.php”。 <?php require_once("lib/nusoap.php"); function concatenate($str1,$str2) { if (is_string($str1) && is_string($str2)) return $str1 . $str2; else return new soap_fault(' 客戶端 ','','concatenate 函數(shù)的參數(shù)應(yīng)該是兩個字符串 '); } $soap = new soap_server; $soap->configureWSDL('concatenate'); // 初始化對 WSDL 的支持 // 注冊服務(wù) $soap->register('concatenate', array("str1"=>"xsd:string","str2"=>"xsd:string"), // 輸入?yún)?shù)的定義 array("return"=>"xsd:string") // 返回參數(shù)的定義 ); $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $soap->service($HTTP_RAW_POST_DATA); ?> 現(xiàn)在打開瀏覽器,訪問剛才建立的文件,/doc/guide/1.0/zh_cn/topics.webservice

看它的實現(xiàn)是非常簡單,在Controller里增加一個轉(zhuǎn)換wsdl的Action,然后,在要提供的方法上面用phpdoc來進(jìn)行注釋。定義傳入?yún)?shù)的數(shù)據(jù)類型等

  • str/string: 對應(yīng) xsd:string ;
  • int/integer: 對應(yīng) xsd:int ;
  • float/double: 對應(yīng) xsd:float ;
  • bool/boolean: 對應(yīng) xsd:boolean ;
  • date: 對應(yīng) xsd:date ;
  • time: 對應(yīng) xsd:time ;
  • datetime: 對應(yīng) xsd:dateTime ;
  • array: 對應(yīng) xsd:string ;
  • object: 對應(yīng) xsd:struct ;
  • mixed: 對應(yīng) xsd:anyType .

不過我也確實沒有過多的細(xì)看,沒仔細(xì)看它對于AUTH驗證支持怎么樣(第三點里介紹的工具是有驗證的,而且就設(shè)在config.php里,非常方便)

好了,我就針對現(xiàn)在的soap server的建立,介紹了四種方法,事實上,我到現(xiàn)在為止是一種都沒有用過,nusoap也就用過客戶端,那也是幾年前的事情了,soapClient 也是,在構(gòu)建soapHeader的時候也走過很多彎路。第三步介紹的工具,我也只是下載了看看源碼,第四步我是看了看手冊。只是先集中一下,以后總會用 到而已。
雖然說,PHPRPC和hprose 在andot他們介紹來說,開發(fā)速度和處理上,都有較為明顯的提高,但如果想做一個公用的web service,那還是用大家都能接受的方法吧。
如果是自己的項目,那可能就會用phprpc或者h(yuǎn)prose來了。hprose測試版用過,感覺還是不錯的。phprpc,我也做了一個sae平臺的移 植版,目前也能夠正常的使用。。在這里也有個簡單的測試:/。有興趣的朋友也可以去看看的。

轉(zhuǎn)載于:https://www.cnblogs.com/newnetboy/archive/2011/01/25/tt179.html

總結(jié)

以上是生活随笔為你收集整理的关于SOAP的几篇文章的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。