使用 Python 和 SOAPpy 生成 WSDL

发布于 2024-07-07 21:20:38 字数 745 浏览 8 评论 0原文

首先,我承认我是 Web 服务的新手,尽管我熟悉 HTML 和基本的 Web 内容。 我使用 Python 创建了一个快速而肮脏的 Web 服务,该服务调用 MySQL 数据库中的存储过程,仅返回一个 BIGINT 值。 我想要在 Web 服务中返回这个值,并且想要生成一个 WSDL,以便提供给我们的 Web 开发人员。 我可能会补充一点,存储过程仅返回一个值。

下面是一些示例代码:

#!/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 为我生成一个。 这可能吗?

First of all, I will admit I am a novice to web services, although I'm familiar with HTML and basic web stuff. I created a quick-and-dirty web service using Python that calls a stored procedure in a MySQL database, that simply returns a BIGINT value. I want to return this value in the web service, and I want to generate a WSDL that I can give our web developers. I might add that the stored procedure only returns one value.

Here's some example code:

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

I want to generate a WSDL that I can give to the web folks, and I'm wondering if it's possible to have SOAPpy just generate one for me. Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

倥絔 2024-07-14 21:20:38

去年,当我尝试编写 Python Web 服务时,我最终使用了 ZSI-2.0 (类似于继承人) SOAPpy)和其网络上提供的论文

基本上,我手动编写了 WSDL 文件,然后使用 ZSI 内容为我的客户端和服务器代码生成存根。 我不会将这种体验描述为令人愉快,但该应用程序确实有效。

When I tried to write Python web service last year, I ended up using ZSI-2.0 (which is something like heir of SOAPpy) and a paper available on its web.

Basically I wrote my WSDL file by hand and then used ZSI stuff to generate stubs for my client and server code. I wouldn't describe the experience as pleasant, but the application did work.

小霸王臭丫头 2024-07-14 21:20:38

我想生成一个 WSDL,可以提供给网络人员,...

您可以尝试 soaplib 。 它具有按需 WSDL 生成功能。

I want to generate a WSDL that I can give to the web folks, ....

You can try soaplib. It has on-demand WSDL generation.

不乱于心 2024-07-14 21:20:38

抱歉前几天问过这个问题。 现在我可以成功调用服务器了。 提供了一个演示:

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)

Sorry for the question few days ago. Now I can invoke the server successfully. A demo is provided:

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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文