gpt4 book ai didi

python - 从 Intacct 中提取数据时抛出错误时回滚到先前的偏移量

转载 作者:行者123 更新时间:2023-12-05 07:33:19 25 4
gpt4 key购买 nike

当我的脚本一次从 Intacct 100 xml object 中提取数据时,一切正常,使用我的 resultid 记住偏移量并提取下一次,并且出于某种原因,它进入其中一个循环并抛出一条错误消息,提示 not well-formed (invalid token): line 1, column 57565 知道我一直在使用相同的凭据。抛出该错误后,它会跳过 100 个对象并移至下一个对象并继续提取数据。

我的问题是:如何在收到错误后回滚,以便我的 resultid 不会在抛出错误时跳过数据?有没有我应该添加到我的 XML 查询中的函数或东西?

请参阅下面我当前的 XML 查询。

谢谢!

headers     = {'Content-type': 'x-intacct-xml-request'}   
API_URL = 'https://api.intacct.com/ia/xml/xmlgw.phtml'
req_shell_next="""<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE request SYSTEM "intacct_request.v2.1.dtd">
<request>
<control>
<senderid>%s</senderid>
<password>%s</password>
<controlid>testRequestId</controlid>
<uniqueid>false</uniqueid>
<dtdversion>3.0</dtdversion>
<includewhitespace>false</includewhitespace>
</control>
<operation>
<authentication>
<login>
<userid>%s</userid>
<companyid>%s</companyid>
<password>%s</password>
</login>
</authentication>
<content>
<function controlid="PostJSONObjectCID">
<readMore>
<resultId>%s</resultId>
</readMore>
</function>
</content>
</operation>
</request>"""

request_data_next = urllib2.Request(API_URL, req_shell_next % (auth_info_senderid, auth_info_password, auth_info_userid, auth_info_companyid, auth_info_userpw, resultId ), headers)
response_str_data_next = urllib2.urlopen(request_data_next).read()
response_xml_data_next = ET.ElementTree(ET.fromstring(response_str_data_next))

最佳答案

无法在 readMore 查询 ( documenation ) 中将光标移回。

您的问题不在 Intacct 方面,而是在应用程序代码方面:在使用 lxml 或任何其他 XML 解析器解析响应期间。因此,您需要在那里进行错误处理(至少尝试/排除)和/或重试。

请保存来自 Intacct 的原始响应,以便您能够调查或调试解析问题。

关于python - 从 Intacct 中提取数据时抛出错误时回滚到先前的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50674923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com