moa*_*lee 4 python soap wsdl python-requests
尝试使用python请求访问此肥皂网络服务:http : //bsestarmfdemo.bseindia.com/MFUploadService/MFUploadService.svc?WSDL
这是我的要求:
import requests
url="http://bsestarmfdemo.bseindia.com/MFUploadService/MFUploadService.svc?WSDL"
#headers = {'content-type': 'application/soap+xml'}
headers = {'content-type': 'application/soap+xml'}
body = """<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header/>
<soap:Body>
<tem:getPassword>
<!--Optional:-->
<tem:UserId>1003201</tem:UserId>
<!--Optional:-->
<tem:MemberId>10032</tem:MemberId>
<!--Optional:-->
<tem:Password>xxxxxxxx</tem:Password>
<!--Optional:-->
<tem:PassKey>xxxxxx123</tem:PassKey>
</tem:getPassword>
</soap:Body>
</soap:Envelope>"""
response = requests.post(url,data=body,headers=headers)
print (response.content)
Run Code Online (Sandbox Code Playgroud)
这个回应:
b'
Sendera:ActionNotSupported由于EndpointDispatcher的ContractFilter不匹配,带有Action \'\ ' 的消息无法在接收方处理。这可能是由于合同不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配造成的。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息,传输,无)。
如果我理解正确,则可能需要在请求中设置操作,但无法弄清楚该怎么做。我是python肥皂的新手,请提出如何解决此问题的建议。谢谢!
小智 5
只需将SOAPAction添加到标头上,例如:
headers = {'Content-type': 'text/xml;charset=UTF-8',
'SOAPAction': 'http://google.com/ISearchService/Find'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |