簡體   English   中英

使用Python和SOAPpy生成WSDL

[英]Generating a WSDL using Python and SOAPpy

首先,我承認我是Web服務的新手,雖然我熟悉HTML和基本Web內容。 我使用Python創建了一個快速而骯臟的Web服務,該服務調用MySQL數據庫中的存儲過程,該服務只返回BIGINT值。 我想在Web服務中返回此值,並且我想生成一個我可以為Web開發人員提供的WSDL。 我可以補充一點,存儲過程只返回一個值。

這是一些示例代碼:

#!/usr/bin/python

import SOAPpy
import MySQLdb

def getNEXTVAL():
    cursor = db.cursor()
    cursor.execute( "CALL my_stored_procedure()" )  # Returns a number
    result=cursor.fetchall()

    for record in result:
        return record[0]

db=MySQLdb.connect(host="localhost", user="myuser", passwd="********", db="testing")
server = SOAPpy.SOAPServer(("10.1.22.29", 8080))
server.registerFunction(getNEXTVAL)
server.serve_forever()

我想生成一個我可以給網絡人員的WSDL,我想知道是否可以讓SOAPpy為我生成一個。 這可能嗎?

當我去年嘗試編寫Python Web服務時,我最終使用了ZSI-2.0 (類似於SOAPpy的繼承人)以及在其網站上提供論文

基本上我手工編寫了我的WSDL文件,然后使用ZSI的東西為我的客戶端和服務器代碼生成存根。 我不會將這種體驗描述為愉快,但應用程序確實有效。

我想生成一個我可以給web人員的WSDL,....

你可以試試soaplib 它具有按需WSDL生成。

對不起幾天前的問題。 現在我可以成功調用服務器了。 提供了一個演示:

def test_soappy():
    """test for SOAPpy.SOAPServer
    """
    #okay
    # it's good for SOAPpy.SOAPServer.
    # in a method,it can have morn than 2 ws server.
    server = SOAPProxy("http://localhost:8081/")
    print server.sum(1,2)
    print server.div(10,2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM