欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

soaplib:
進(jìn)行webservice開發(fā)必須要用的庫(kù),可以在https://github.com/volador/soaplib拿到,注意要先安裝上面兩個(gè)插件再安裝這個(gè),因?yàn)檫@個(gè)依賴于上面兩個(gè)插件,把zip拿下來(lái)后解壓,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框架,可以用來(lái)建立webservice.soaplib這樣在這里下載:https://github.com/volador/soaplib

裝好soaplib后新建一個(gè)test.py,建立一個(gè)webservice,實(shí)現(xiàn)返回兩個(gè)整數(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): #返回的是一個(gè)類,該類必須是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而不是訪問錯(cuò)誤,就說(shuō)明服務(wù)添加成功啦
在命令行下既可以測(cè)試

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

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

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

相關(guān)文章

  • python創(chuàng)建生成器以及訪問的方法詳解

    python創(chuàng)建生成器以及訪問的方法詳解

    這篇文章主要介紹了python創(chuàng)建生成器以及訪問的方法詳解,與列表一次性地將數(shù)據(jù)全都加載到內(nèi)存不同的是,生成器使用推斷加載數(shù)據(jù),每次只推斷出一個(gè)對(duì)象,在數(shù)據(jù)量比較大時(shí),可以節(jié)省內(nèi)存,需要的朋友可以參考下
    2023-11-11
  • 深入理解python對(duì)json的操作總結(jié)

    深入理解python對(duì)json的操作總結(jié)

    Json最廣泛的應(yīng)用是作為AJAX中web服務(wù)器和客戶端的通訊的數(shù)據(jù)格式,本篇文章主要介紹了python對(duì)json的操作總結(jié),具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Python實(shí)戰(zhàn)之疫苗研發(fā)情況可視化

    Python實(shí)戰(zhàn)之疫苗研發(fā)情況可視化

    2020年底以來(lái),歐美,印度,中國(guó),俄羅斯等多國(guó)得制藥公司紛紛推出了針對(duì)新冠肺炎的疫苗,這部分主要分析了2020年以來(lái)全球疫情形勢(shì),各類疫苗在全球的地理分布,疫苗在各國(guó)的接種進(jìn)度進(jìn)行可視化展示,需要的朋友可以參考下
    2021-05-05
  • Python中的二維列表使用及說(shuō)明

    Python中的二維列表使用及說(shuō)明

    這篇文章主要介紹了Python中的二維列表使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python制作春聯(lián)的示例代碼

    Python制作春聯(lián)的示例代碼

    春聯(lián)是中國(guó)傳統(tǒng)文化中最具內(nèi)涵的元素之一,它以對(duì)仗工整、簡(jiǎn)潔精巧的文字描繪美好形象,抒發(fā)美好愿望,是中國(guó)特有的文學(xué)形式,是華人們過(guò)年的重要習(xí)俗。本文將通過(guò)Python制作春聯(lián),需要的可以參考一下
    2022-01-01
  • Python的log日志功能及設(shè)置方法

    Python的log日志功能及設(shè)置方法

    今天小編就為大家分享一篇Python的log日志功能及設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python 串口讀寫的實(shí)現(xiàn)方法

    Python 串口讀寫的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python 串口讀寫的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python數(shù)據(jù)結(jié)構(gòu)算法分析

    python數(shù)據(jù)結(jié)構(gòu)算法分析

    這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)算法分析,在python的數(shù)據(jù)結(jié)構(gòu)的章節(jié)中,我們上次學(xué)習(xí)到了python面向?qū)ο蟮乃枷?,即我們想用程序?lái)實(shí)現(xiàn)一個(gè)東西,我們需是用對(duì)象的特征來(lái)描述我們想構(gòu)建的對(duì)象。感興趣的小伙伴可以查看下面內(nèi)容</P><P>
    2021-12-12
  • 在python中實(shí)現(xiàn)求輸出1-3+5-7+9-......101的和

    在python中實(shí)現(xiàn)求輸出1-3+5-7+9-......101的和

    這篇文章主要介紹了在python中實(shí)現(xiàn)求輸出1-3+5-7+9-......101的和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python爬取音頻下載的示例代碼

    python爬取音頻下載的示例代碼

    這篇文章主要介紹了python爬取音頻下載的示例代碼,幫助大家更好的理解和學(xué)習(xí)python爬蟲,感興趣的朋友可以了解下
    2020-10-10

最新評(píng)論