如何在Odoo 15中使用Python请求发布XML ElementTree
美好的一天,我正在尝试发布与ElementTree生成的XML文件,当我尝试发布它时,我会在下面获得错误。请帮忙。
{"env:Envelope": {"@xmlns:env": "http://schemas.xmlsoap.org/soap/envelope/", "env:Header": null, "env:Body": {"env:Fault": {"@xmlns:env": "http://schemas.xmlsoap.org/soap/envelope/", "faultcode": "env:Server", "faultstring": "Cannot create SOAP envelope from: ClaimBatch"}}}}
我已经撤出了此链接,但没有帮助,如何通过Python请求发送XML ElementTree
def batch_file(self):
Transaction = etree.Element("ClaimBatch")
BatchHeader = etree.Element("BatchHeader")
batchDate = etree.SubElement(BatchHeader, "batchDate")
batchDate.text = ''
Transaction.append(BatchHeader)
for claim in self.claim_ids:
Claim = etree.Element("Claim")
transactionType = etree.SubElement(Claim, "transactionType")
transactionType.text = ''
testClaim = etree.SubElement(Claim, "testClaim")
testClaim.text = ''
Lines = etree.Element("Lines")
Line = etree.Element("Line")
lineNo = etree.SubElement(Line, "lineNo")
lineNo.text = '1'
Lines.append(Line)
Claim.append(Lines)
Transaction.append(Claim)
BatchTrailer = etree.Element("BatchTrailer")
numClaims = etree.SubElement(BatchTrailer, "numClaims")
batchTotal = etree.SubElement(BatchTrailer, "batchTotal")
batchTotal.text = ''
Transaction.append(BatchTrailer)
# Generate Batch File
url = 'http://IP_ADDRESS/some_texxt/realTimeClaimWS?wsdl/'
try:
send_xml_data = requests.post(url, data=ET.tostring(Transaction, encoding='utf-8'), verify=False).text
respose = xmltodict.parse(send_xml_data)
set_json = json.dumps(respose)
self.error_msg = set_json
except Exception as e:
self.error_msg = str(e)
Good day, I am trying to post xml file that i have generated with ElementTree, when i try to post it i get error below. Please help.
{"env:Envelope": {"@xmlns:env": "http://schemas.xmlsoap.org/soap/envelope/", "env:Header": null, "env:Body": {"env:Fault": {"@xmlns:env": "http://schemas.xmlsoap.org/soap/envelope/", "faultcode": "env:Server", "faultstring": "Cannot create SOAP envelope from: ClaimBatch"}}}}
I Have visted this link but no help, How do I send XML ElementTree with Python Requests
def batch_file(self):
Transaction = etree.Element("ClaimBatch")
BatchHeader = etree.Element("BatchHeader")
batchDate = etree.SubElement(BatchHeader, "batchDate")
batchDate.text = ''
Transaction.append(BatchHeader)
for claim in self.claim_ids:
Claim = etree.Element("Claim")
transactionType = etree.SubElement(Claim, "transactionType")
transactionType.text = ''
testClaim = etree.SubElement(Claim, "testClaim")
testClaim.text = ''
Lines = etree.Element("Lines")
Line = etree.Element("Line")
lineNo = etree.SubElement(Line, "lineNo")
lineNo.text = '1'
Lines.append(Line)
Claim.append(Lines)
Transaction.append(Claim)
BatchTrailer = etree.Element("BatchTrailer")
numClaims = etree.SubElement(BatchTrailer, "numClaims")
batchTotal = etree.SubElement(BatchTrailer, "batchTotal")
batchTotal.text = ''
Transaction.append(BatchTrailer)
# Generate Batch File
url = 'http://IP_ADDRESS/some_texxt/realTimeClaimWS?wsdl/'
try:
send_xml_data = requests.post(url, data=ET.tostring(Transaction, encoding='utf-8'), verify=False).text
respose = xmltodict.parse(send_xml_data)
set_json = json.dumps(respose)
self.error_msg = set_json
except Exception as e:
self.error_msg = str(e)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议使用Zeep。手动处理要少得多。
并查看生成的XML
I recommend to use use zeep. Much less manual processing.
and also to see the generated xml