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

利用soaplib搭建webservice詳細(xì)步驟和實(shí)例代碼

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

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

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

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

復(fù)制代碼 代碼如下:

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,實(shí)現(xiàn)返回兩個整數(shù)相加的和。代碼如下:

復(fù)制代碼 代碼如下:

# -*- coding: cp936 -*-
import soaplib
from soaplib.core.util.wsgi_wrapper import run_twisted #發(fā)布服務(wù)
from soaplib.core.server import wsgi
from soaplib.core.service import DefinitionBase  #所有服務(wù)類必須繼承該類
from soaplib.core.service import soap  #聲明注解
from soaplib.core.model.clazz import Array #聲明要使用的類型
from soaplib.core.model.clazz import ClassModel  #若服務(wù)返回類,該返回類必須是該類的子類
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的子類,該類已經(jīng)在上面定義
                L_Model=C_ProbeCdrModel()
                L_Model.Name=L_Model.Name
                L_Model.Id=L_Model.Id
                return L_Model   
 
       
if __name__=='__main__':  #發(fā)布服務(wù)      
        try:
                print '服務(wù)已經(jīng)開啟'
                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而不是訪問錯誤,就說明服務(wù)添加成功啦
在命令行下既可以測試

復(fù)制代碼 代碼如下:

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

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

相關(guān)文章

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

    Django 請求Request的具體使用方法

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

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

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

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

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

    Python面向?qū)ο蟪绦蛟O(shè)計(jì)之靜態(tài)方法、類方法、屬性方法原理與用法分析

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)之靜態(tài)方法、類方法、屬性方法,結(jié)合實(shí)例形式分析了Python靜態(tài)方法、類方法、屬性方法相關(guān)概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • python中@Property屬性使用方法

    python中@Property屬性使用方法

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

    python人民幣小寫轉(zhuǎn)大寫輔助工具

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

    如何修改新版Python的pip默認(rèn)安裝路徑

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

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

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

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

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

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

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

最新評論

通山县| 呼伦贝尔市| 茂名市| 西安市| 鄂尔多斯市| 永登县| 大港区| 牟定县| 吴堡县| 岳普湖县| 双江| 普洱| 松桃| 监利县| 保靖县| 陆良县| 灌南县| 永平县| 赣州市| 胶州市| 会宁县| 东乡县| 邯郸县| 太和县| 泾阳县| 正宁县| 阿拉善盟| 西宁市| 石家庄市| 略阳县| 巴青县| 澜沧| 会昌县| 凤冈县| 邵武市| 屯留县| 饶平县| 嘉祥县| 玛曲县| 南宁市| 博客|