鍍金池/ 問答/Python  網絡安全  HTML/ 怎么用python處理xml請求和xml響應,wsdl, soap,希望有源碼參

怎么用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...
但是到了后面就不知道怎么寫了。怎么發(fā)送appToken和appKey,paramsJson到服務器呢?如何寫服務器提供的方法呢?跪求大神能夠提供代碼參考。使用其他python的庫也可以。 萬分感謝!

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


圖片描述

回答
編輯回答
心悲涼

你可以用xml的庫來實現(xiàn)字符串組織,也可以自己用xml文本硬填。比如可以定義一個字符串
a="<?xml .....省略無用的><appToken>{appToken}</appToken></xml>".format(appToken='xzxzxxxx')
然后
import json
body = json.dumps(a)
h=''#根據(jù)文檔組織xml頭
zeep.post(url='xxx',message= body,headers=h)
body就是你要發(fā)送的xml請求內容。

2017年5月6日 13:23