最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用soaplib搭建webservice詳細步驟和實例代碼

 更新時間:2013年11月20日 10:34:54   投稿:zxhpj  
這篇文章主要介紹了使用python soaplib搭建webservice詳細步驟和實例代碼,大家可以參考使用

最近在搞python的webservice項目,今天為把環(huán)境給配好,折騰了不少時間,還是把配的過程記錄下來,以后備用:
首先你系統(tǒng)上要有python,這個不必說啦,我系統(tǒng)上用的是2.7+
其次,要用python進行webservice開發(fā),還需要一些庫:
lxml :
命令行下 sudo easy_install lxml 就能安裝

pytz :
 命令行下 sudo easy_install pytz 就能安裝

soaplib:
進行webservice開發(fā)必須要用的庫,可以在https://github.com/volador/soaplib拿到,注意要先安裝上面兩個插件再安裝這個,因為這個依賴于上面兩個插件,把zip拿下來后解壓,sudo python setup.py install 就能安裝了。

復制代碼 代碼如下:

Soaplib is an easy to use python library for publishing soap web services using WSDL 1.1 standard, and answering SOAP 1.1 requests. With a very small amount of code, soaplib allows you to write a useful web service and deploy it as a WSGI application.

soaplib是python的soap框架,可以用來建立webservice.soaplib這樣在這里下載:https://github.com/volador/soaplib

裝好soaplib后新建一個test.py,建立一個webservice,實現(xiàn)返回兩個整數(shù)相加的和。代碼如下:

復制代碼 代碼如下:

# -*- coding: cp936 -*-
import soaplib
from soaplib.core.util.wsgi_wrapper import run_twisted #發(fā)布服務
from soaplib.core.server import wsgi
from soaplib.core.service import DefinitionBase  #所有服務類必須繼承該類
from soaplib.core.service import soap  #聲明注解
from soaplib.core.model.clazz import Array #聲明要使用的類型
from soaplib.core.model.clazz import ClassModel  #若服務返回類,該返回類必須是該類的子類
from soaplib.core.model.primitive import Integer,String
class C_ProbeCdrModel(ClassModel):
        __namespace__ = "C_ProbeCdrModel"
        Name=String
        Id=Integer
class AdditionService(DefinitionBase):  #this is a web service     
        @soap(Integer,Integer,_returns=String)
        def addition(self,a,b):
                return str(a)+'+'+str(b)+'='+str(a+b)      
        @soap(_returns=Array(String))
        def GetCdrArray(self):
                L_Result=["1","2","3"]
                return L_Result
        @soap(_returns=C_ProbeCdrModel)
        def GetCdr(self): #返回的是一個類,該類必須是ClassModel的子類,該類已經在上面定義
                L_Model=C_ProbeCdrModel()
                L_Model.Name=L_Model.Name
                L_Model.Id=L_Model.Id
                return L_Model   
 
       
if __name__=='__main__':  #發(fā)布服務      
        try:
                print '服務已經開啟'
                from wsgiref.simple_server import make_server
                soap_application = soaplib.core.Application([AdditionService], 'tns')
                wsgi_application = wsgi.Application(soap_application)
                server = make_server('localhost', 7789, wsgi_application)
                server.serve_forever()
              
        except ImportError:
                print 'error'

在瀏覽器中訪問http://127.0.0.1:7789/SOAP/?wsdl出現(xiàn)一大版的xml而不是訪問錯誤,就說明服務添加成功啦
在命令行下既可以測試

復制代碼 代碼如下:

>>>from suds.client import Client
>>> test=Client('http://localhost:7789/SOAP/?wsdl')
>>> print test.service.addition(1,2)
1+2=3

問題注意:代碼運行過程中,會出現(xiàn)各種模塊沒找到,那是因為你沒有安裝,根據提示,google搜索下載安裝就好,如果是windows,找不到exe,zip格式的安裝文件,下載tar.gz也行的,解壓后在cmd切換到解壓目錄,執(zhí)行:python setup.py install便安裝成功了。
第一次建立連接很慢很慢,慢到無法忍受,>>> test=Client('http://localhost:7789/SOAP/?wsdl'),不知道是怎么回事。

相關文章

  • Django 請求Request的具體使用方法

    Django 請求Request的具體使用方法

    這篇文章主要介紹了Django 請求Request的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Python使用Holoviews創(chuàng)建復雜的可視化布局

    Python使用Holoviews創(chuàng)建復雜的可視化布局

    Holoviews是一個基于Python的開源庫,旨在簡化數(shù)據可視化的創(chuàng)建過程,本文將為新手朋友詳細介紹如何使用Holoviews創(chuàng)建復雜的可視化布局,感興趣的可以了解下
    2024-11-11
  • Python opencv實現(xiàn)人眼/人臉識別以及實時打碼處理

    Python opencv實現(xiàn)人眼/人臉識別以及實時打碼處理

    這篇文章主要為大家詳細介紹了Python opencv實現(xiàn)人眼、人臉識別,以及實時打碼處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python面向對象程序設計之靜態(tài)方法、類方法、屬性方法原理與用法分析

    Python面向對象程序設計之靜態(tài)方法、類方法、屬性方法原理與用法分析

    這篇文章主要介紹了Python面向對象程序設計之靜態(tài)方法、類方法、屬性方法,結合實例形式分析了Python靜態(tài)方法、類方法、屬性方法相關概念、原理、用法及相關操作注意事項,需要的朋友可以參考下
    2020-03-03
  • python中@Property屬性使用方法

    python中@Property屬性使用方法

    這篇文章主要介紹了python中@Property屬性使用方法,在Python中,可以通過@property裝飾器將一個方法轉換為屬性,從而實現(xiàn)用于計算的屬性,下面文章圍繞主題展開更多相關詳情,感興趣的小伙伴可以參考一下
    2022-06-06
  • python人民幣小寫轉大寫輔助工具

    python人民幣小寫轉大寫輔助工具

    這篇文章主要為大家詳細介紹了python人民幣小寫轉大寫輔助工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 如何修改新版Python的pip默認安裝路徑

    如何修改新版Python的pip默認安裝路徑

    pip安裝的第三方庫默認存放在C盤中,為了便于管理和不過度占用C盤空間所以想修改默認的pip路徑,這篇文章主要介紹了修改新版Python的pip默認安裝路徑的過程,需要的朋友可以參考下
    2024-03-03
  • python批量創(chuàng)建變量并賦值操作

    python批量創(chuàng)建變量并賦值操作

    這篇文章主要介紹了python批量創(chuàng)建變量并賦值操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Pyinstaller打包工具的使用以及避坑

    Pyinstaller打包工具的使用以及避坑

    本文主要的是pyinstaller在windows下的基本使用和基礎避坑,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python圖像處理庫PIL的ImageFilter模塊使用介紹

    Python圖像處理庫PIL的ImageFilter模塊使用介紹

    這篇文章主要介紹了Python圖像處理庫PIL的ImageFilter模塊使用介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02

最新評論

克什克腾旗| 怀来县| 杂多县| 巨野县| 出国| 晋宁县| 陆丰市| 静安区| 齐齐哈尔市| 六安市| 安吉县| 延长县| 广东省| 仙桃市| 乡宁县| 河西区| 松潘县| 德钦县| 崇仁县| 承德市| 平乐县| 舟曲县| 东乌| 开原市| 固安县| 朝阳市| 扶绥县| 林芝县| 钟山县| 蒙山县| 高州市| 泰来县| 河南省| 滦南县| 巴彦淖尔市| 登封市| 太仆寺旗| 正镶白旗| 青龙| 栾川县| 许昌市|