如何基于Python搭建Linux SOAP 服务平台

本文介绍如何使用Python、Flask-Spyne、uWSGI和Nginx在Suse12SP1上搭建SOAP服务平台。详细步骤包括安装依赖库、创建服务主文件和代理文件,以及通过uwsgi命令和Nginx进行服务测试和部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何基于Python搭建Linux SOAP 服务平台

关键词:

  • Suse 12 SP1
  • Python 2.7.15
  • Flask-Spyne
  • uWSGI
  • Nginx

**前提:**linux安装python、Flask-Spyne库、uWSGI和Nginx
其中Flask-Spyne库是用户Flask上快速起Spyne服务,具体使用方法可以参考PyPi样例

服务主文件

#testSpyne.py
app=Flask(__name__)

@app.route('/')
def hello():    
    return "<h1 style='color:blue'>Hello Flask!</h1>"

spyne = Spyne(app)

#spyne.Service.__address_location__='http://10.121.48.19/ABCSoap/'
class ABCSoap(spyne.Service):  
  __service_url_path__ = '/ABCSoap'  #路径
  #__target_namespace__ = 'http://www.tzabc.com'
  __in_protocol__ = Soap11(validator='lxml')
  __out_protocol__ = Soap11()
  @spyne.srpc(Unicode, _returns=Unicode)
  def sendSMS(inMobile):
    return inMobile

if __name__=="__main__":
    app.run(host='127.0.0.1')

代理文件

#wsgi.py
from testSpyne import app
if __name__=="__main__":
    app.run()

两个文件生成后,可以通过uwsgi命令先行测试

uwsgi –socket 127.0.0.1:8888 –protocol=http -w wsgi:app

如果成功,则执行下面的Nginx连接,主要通过Nginx的连接分配进行

修改Nginx安装目录下的conf/nginx.conf

server{
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://127.0.0.1:8888;
    }
}

其中的proxy_pass即为uwsgi命令中的代理地址

配置后可以reload nginx服务,此时输入服务器的地址即可访问Flask的服务

关注点:

  1. 此时发布的SOAP服务 soap:address_location 为内部127.0.0.1的地址,可以修改WSDL文件的address_location参数配置其为外部地址
  2. 如果希望uWSGI服务开机后台启动,可以配置uwsgi.ini文件并将命令添加到rc.d文件中(suse linux 为boot文件)
  3. 如果针对不同的SOAP有不同的访问地址(如内外网服务,可以配置address_location为外网转换地址)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值