python suds 获取webService封装的数据

1、suds的client获取webService封装的数据,URL为http:// **?WSDL形式

from suds.client import Client

import sys

def get_data():
    reload(sys)
    sys.setdefaultencoding('utf-8')

    url = 'http://**?WSDL'  
    client = Client(url)  
#     print client
    begin_date="2013-09-05 00:00:00"
    end_date="2013-09-06 23:59:59"
    Mheader=client.factory.create('MsgHeader')
    
    Mheader.SOURCE_SYSTEM_ID="TOMAS"
    Mheader.SOURCE_SYSTEM_NAME="TOMAS"
    Mheader.USER_ID="TOMAS"
    Mheader.USER_NAME="TOMAS"
    Mheader.SUBMIT_DATE=datetime.now().strftime("%Y-%m-%d")

    InputInfo=client.factory.create('Input')       
    InputInfo.PAGE_SIZE=500
    InputInfo.REPAIR_DATE_FROM=begin_date
    InputInfo.REPAIR_DATE_TO=end_date

    result=client.service.process(Mheader,InputInfo)
    
    for i in range(0,7):
        print result[i]
}

2、这里可以把上面程序中的client中的内容打印出来,如下所示:

Suds ( https://fedorahosted.org/suds/ )  version: 0.4 GA  build: R699-20100913

Service ( ** ) tns="http:**"
   Prefixes (3)
      ns0 = "http://**"
      ns2 = "http://**"
      ns3 = "http://**"
   Ports (1):
      (**)
         Methods (1):
            process(ns3:MsgHeaderMsgHeader, ns0:InputInput, )
         Types (4):
            ns0:Input
            ns3:MsgHeader
            OutputItem
            ResponseCollection

从client打印出来的内容可知,webService封装了一个方法process,该方法有两个输入参数,即上面程序中的MsgHeader和Input,创建实例client.factory.create('MsgHeader'),这两个参数相当于结构体类型,结构体具体包含的内容与封装webService接口的人沟通,这样通过process方法可以获得设置输入参数对应的输出(可能包括很多信息,例如处理状态信息、数据),接下来就可以对数据进行处理了。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值