怎么用python处理xml请求和xml响应,wsdl, soap,希望有源码参考。

请求xml

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns1="http://www.example.org/Ec/">
    <SOAP-ENV:Body>
        <ns1:callService>
            <paramsJson>{"pageSize":"1","page":1}</paramsJson>
            <appToken>appToken</appToken>
            <appKey>appKey</appKey>
            <service>getCountry</service>
        </ns1:callService>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

响应xml

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns1="http://www.example.org/Ec/">
    <SOAP-ENV:Body>
        <ns1:callServiceResponse>            
            <response>{"ask":"Success","message":"Success","pagination":{"page":"1","pageSize":"1"},"count":"260","nextPage":"true","data":[{"country_code":"AF","country_name":"阿富汗","country_name_en":"AFGHANISTAN"}]}</response>
        </ns1:callServiceResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope> 

开始是准备使用python的zeep处理,参考链接
http://docs.python-zeep.org/e...
但是到了后面就不知道怎么写了。怎么发送appToken和appKey,paramsJson到服务器呢?如何写服务器提供的方法呢?跪求大神能够提供代码参考。使用其他python的库也可以。 万分感谢!

import zeep
wsdl = 'http://202.104.134.94:6280/default/svc/wsdl'
client = zeep.Client(wsdl=wsdl)
print(client)


图片描述

阅读 7.3k
2 个回答

你可以用xml的库来实现字符串组织,也可以自己用xml文本硬填。比如可以定义一个字符串
a="<?xml .....省略无用的><appToken>{appToken}</appToken></xml>".format(appToken='xzxzxxxx')
然后
import json
body = json.dumps(a)
h=''#根据文档组织xml头
zeep.post(url='xxx',message= body,headers=h)
body就是你要发送的xml请求内容。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题