调用QBO3附件/生成,但附件/下载失败

时间:2017-09-09 15:11:37

标签: c# xml xslt

使用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。

为什么我们在导入结果中获得成功指标,但无法下载生成的文件?

1 个答案:

答案 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表中,可以从以下位置查看(和报告):

  • 设计&gt;导入数据&gt; {导入的XML文件}