Когда мой скрипт извлекает данные из Intacct 100 xml object
за раз, все работает нормально, используя мой resultid для запоминания смещения и получения следующего шага, и по какой-то причине он попадает в один из циклов и выбрасываетошибка, говорящая not well-formed (invalid token): line 1, column 57565
, зная, что я все время использую одни и те же учетные данные.с этой ошибкой он пропускает 100 объектов и переходит к следующему и продолжает извлекать данные.
Мой вопрос: как выполнить откат после получения ошибки, чтобы мой результат не пропускал данные при возникновении ошибки?Есть ли функция или что-то, что я должен добавить к своему 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))