14

まず最初に、私は Web サービスの初心者であることを認めますが、HTML と基本的な Web の機能には精通しています。Python を使用して、MySQL データベース内のストアド プロシージャを呼び出し、単純に BIGINT 値を返す簡単な Web サービスを作成しました。この値を Web サービスで返し、Web 開発者に提供できる WSDL を生成したいと考えています。ストアド プロシージャは 1 つの値しか返さないことを付け加えておきます。

コード例を次に示します。

#!/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()

私は Web 関係者に提供できる WSDL を生成したいと考えています。また、SOAPpy で WSDL を生成するだけでよいのではないかと考えています。これは可能ですか?

4

3 に答える 3

12

昨年、Python Web サービスを作成しようとしたとき、ZSI-2.0 (SOAPpy の後継者のようなもの) とその web で入手できる論文を使用することになりました

基本的に、私は手動で WSDL ファイルを作成し、ZSI を使用してクライアント コードとサーバー コードのスタブを生成しました。私はその経験を楽しいとは言いませんが、アプリケーションはうまくいきました。

于 2008-11-10T03:25:11.960 に答える
1

Web関係者に提供できるWSDLを生成したい....

soaplibを試すことができます。オンデマンドの WSDL 生成機能があります。

于 2008-11-08T04:34:26.520 に答える
1

数日前の質問で申し訳ありません。これで、サーバーを正常に呼び出すことができます。デモが提供されています:

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)
于 2011-12-01T02:59:53.657 に答える