我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python开发Webservice服务

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python开发Webservice服务

Webservice

记录一下python开发 Web services跨平台,跨语言,跨设备之间的通信。

Web service 三要素

SOAP:SOAP协议
WSDL:Web service描述语言,我的理解是:你服务端的接收字段,字段类型定义,定义的函数,函数名名以及返回的数据的一个描述XML格式
XML:
demo如下:


# coding:utf-8
#第一步:导入相应的包,我是在在python2的环境下,因为soaplib只支持python2,而且soaplib不再更新了,
#估计到2020年废除python2之后,会出现新的包导入ClassModel是为了和数据库连接的。

from soaplib.core.model.clazz import ClassModel
from spyne import Application, rpc, ServiceBase
from spyne import Integer, Unicode, Array
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication
from wsgiref.simple_server import make_server
import sys
from spyne.model.complex import ComplexModel
from pymysql import connect
import os,base64,logging

#第二步:记录python Web services服务端的logging文件
logging.basicConfig(level=logging.DEBUG, filename='my_server.log')
logging.getLogger('spyne.application.server').setLevel(logging.DEBUG)

# 第三步 声明接收的客户端的变量名,也就是子段,或者xml标签,由于是数据多,就用的复杂性model,
#得声明空间,在客户端创建对象或者字典都可以,作为对象的一个属性,或者字典的key,value来保存数据的传递。
class Project(ComplexModel):
    __namespace__ = 'Project'
    name = Unicode
    phone = Unicode
    address = Unicode
    location = Unicode
    time = Unicode
    level = Unicode
    message = Unicode
    #多少都可以,前提是客户端得给你传过来,你才能接收到,但是客户端有的字段,你这里必须有,否则会报错,
    ... = ...

#第四步:声明服务的类,类的方法,就是客户端访问的服务,业务逻辑,操作都在这里面,
#project就是字典,或者对象,

class SServices(ServiceBase):
    @rpc(Project, _returns=Unicode)
    def make_func(self, project):
        # return "链接成功,webservice 服务器已接收到数据"
        print(project)
        #业务逻辑放这里,把接收到的参数就是project,可以保存到数据库,等操作,
        print("save success")


# 第五步代码的执行,ip port就是你本地的地址,或者你的ip地址,ifcofig,
#创建服务名:SServices,服务调用的函数是make_func
if __name__ == "__main__":
    # ip = '127.0.0.1'
    # ip="192.168.10.73"
    ip="192.168.1.37"
    port = 6667
    soap_app = Application([SServices],
                           'SampleServices',
                           in_protocol=Soap11(validator="lxml"),
                           out_protocol=Soap11())
    wsgi_app = WsgiApplication(soap_app)
    server = make_server(ip, port, wsgi_app)
    sys.exit(server.serve_forever())

就能看到你的服务端已开启,一个xml的描述你Web services功能的xml文档

这是自己的理解,望参考!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python开发Webservice服务

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python开发Webservice服务

Webservice记录一下python开发 Web services跨平台,跨语言,跨设备之间的通信。Web service 三要素SOAP:SOAP协议 WSDL:Web service描述语言,我的理解是:你服务端的接收字段,字段类型
2023-01-31

应用Python开发WebService

Why得益于Python领域广泛的功能包,使用Python来开发WebService,实现服务端或客户端,是比较快捷的途径。最近项目上恰巧遇到一个问题,内外系统分别作为客户端与服务端,接口功能已基本确定,但目前双方项目进度不统一。为避免进度
2023-01-31

Spring集成XFire开发WebService

Spring集成XFire开发WebService的步骤如下:1. 添加XFire的依赖在Maven项目中,可以在pom.xml文件中添加以下依赖:```xmlorg.codehaus.xfirexfire-spring1.2.6```2.
2023-09-12

如何使用axis开发webservice

小编给大家分享一下如何使用axis开发webservice,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!preparation:说明:相关的可能要了解SOAP(简
2023-06-17

MyEclipse开发一个webservice接口

一直以来对于接口这个东西都很好奇,各种客户也一直在说那个什么什么数据我们提供给你们一个接口就好了,结果还是不是很明白.于是乎就有了下面的小故事,接下来我们就进入正文吧---大概可以分为这样的步骤1:新建webservice project,
2023-05-31

详解Spring boot+CXF开发WebService Demo

最近工作中需要用到webservice,而且结合spring boot进行开发,参照了一些网上的资料,配置过程中出现的了一些问题,于是写了这篇博客,记录一下我这次spring boot+cxf开发的webservice的配置过程,仅供参考。
2023-05-31

java怎么实现webservice接口开发

要实现Java的Web Service接口开发,可以使用Java的一些框架和库来帮助开发。以下是一个基本的步骤示例:1. 创建一个Java项目,并添加适当的依赖库。常用的库包括JAX-WS(Java API for XML Web Serv
2023-09-15

Python服务端开发

之前的爬虫https://blog.csdn.net/column/details/17218.html几篇文章为Python实现客户端以Get/Post等方法请求服务。最近用Python写了一个服务,在此总结一下知识点:1、Python代
2023-01-31

python开发web服务器——搭建简易

转自:http://blog.csdn.net/baidu_35085676/article/details/69807145?%3E目标用已有的丰富图片资源建一个看图网站条件开发语言:python3库:flask :一个开源的python
2023-01-31

Java 调用 WebService 服务的 3 种方式

虽然 WebService 这个框架已经过时,但是有些公司还在使用,在调用他们的服务的时候就不得不面对各种问题,本篇文章总结了最近我调用他司 WebService 的心路历程。3 种方式可以分别尝试,哪种能通用哪个。 soapui 下载地址
2023-08-18

Python游戏服务器开发日记(一)目标

到了新的环境,老大让我有空研究下一代服务器技术,作为一个长期任务。       新的服务器想达到的目标:       1、分布式系统,对象(Entity)之间的关系类似于Actor模型。       2、逻辑服务,是单进程、多线程的,对象之
2023-01-31

[开发]Python实现运维监控服务器硬

今天通过使用Python开发针对服务器硬件运行状态的监控,简单了解下在虚拟环境中的运维监控的实现,算是给全面研究云计算开一个头。1.先准备环境,软件配置如下:虚拟环境:     Vmware 10操作系统:     Linux ubuntu
2023-01-31

Python web开发:6本web开发

Python作为一种灵活好学的脚本语言,已经越来越受程序员的欢迎和热捧,甚至成为程序员的必备技能。Python的Web开放框架如Django,Flask,更是得到了广大的应用,今天为大家推荐几本有关python web开发的书籍。1.《Dj
2023-01-31

Python开发(一)

python>>> s='tou siheoiw'>>> '%s is number %d' % (s[:6],1)'tou si is number 1'>>> hi='''hithere'''>>> hi'hi\nthere'>>> b
2023-01-31

python web开发

HTTP超文本传输协议CSS层叠样式HTML 超文本标记语言JavaScript脚本语言WSGI接口:Web Server Gateway Interface. -- 它只要求web开发者实现一个函数,就可以相应http请求。def app
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录