使用QBO3导入框架,我们使用此XML片段生成邮件合并文档:
<AttachmentItem Operation="Generate">
<Object>ImportForm</Object>
<ObjectSubscriberID>CRLetterCycle-17010353-2442587</ObjectSubscriberID>
<Template>CR CFPB RET Ack Incomplete Appl</Template>
</AttachmentItem>
在结果中,我们看到:
<Result ID="1816859">
<Object>Attachment</Object>
<ObjectID>524624</ObjectID>
<Operation>Insert</Operation>
<Status>Success</Status>
<Properties>
... [omitted for brevity] ...
</Properties>
</Result>
但是,当我们尝试通过调用
来下载合并文档时Attachment/Download?ID=524624
我们得到了HTTP 500错误,其响应包含:
在&#39; [...]&#39;中找不到指定的文件。文件对象 库。参数名称:relativePath实际值为 qboRoot / ImportForm / 1633788 / CRLetter.b6e893b7-552e-4298-9495-eaa0fb4e6a34.pdf。
为什么我们在导入结果中获得成功指标,但无法下载生成的文件?
答案 0 :(得分:0)
当QBO3导入框架处理您提供的XML时,执行了两个方法签名:
Attachment/Insert
和Attachment/Generate
如果您更多地检查导入结果XML,您将找到与您的附件相关的两个节点;你在问题中提到的那个,第二个:
<Result ID="1816860">
<Object>Attachment</Object>
<ObjectID>524624</ObjectID>
<Status>Error</Status>
<Message>Invalid column name 'Item'. [Omitted for brevity]</Message>
<Source>.Net SqlClient Data Provider</Source>
</Result>
简而言之,Attachment/Insert
工作,在数据库中创建了一个附件行,但Attachment/Generate
出错了,无法将实际的邮件合并文件保存到磁盘。
导入结果中呈现的错误也记录在ImportLog表中,可以从以下位置查看(和报告):