C# 添加账单时Quickbooks QBFC错误

C# 添加账单时Quickbooks QBFC错误,c#,quickbooks,qbfc,C#,Quickbooks,Qbfc,我正在尝试使用C#中的QBFC向quickbooks添加供应商账单。我的问题是,如果我想为这个特定的供应商定义一个自定义地址(只针对这个特定的账单),它会抛出一个错误 QuickBooks found an error when parsing the provided XML text stream 我的测试代码如下: IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq(); billAddRq.VendorRef.F

我正在尝试使用C#中的QBFC向quickbooks添加供应商账单。我的问题是,如果我想为这个特定的供应商定义一个自定义地址(只针对这个特定的账单),它会抛出一个错误

QuickBooks found an error when parsing the provided XML text stream
我的测试代码如下:

 IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq();

 billAddRq.VendorRef.FullName.SetValue(vendBill.transaction.Name);
 billAddRq.TxnDate.SetValue(Convert.ToDateTime(vendBill.transaction.Date));
 billAddRq.RefNumber.SetValue(vendBill.transaction.DocNum);
 billAddRq.VendorAddress.Addr1.SetValue("test");
 billAddRq.VendorAddress.Addr2.SetValue("test");
 billAddRq.VendorAddress.Addr3.SetValue("test");
 billAddRq.VendorAddress.Addr4.SetValue("test");
 billAddRq.VendorAddress.Addr5.SetValue("test");
但是,如果我去掉所有对VendorAddress的调用,并将其保持如下状态,代码就会起作用:

 IBillAdd billAddRq = this.mainRequestMsgSet.AppendBillAddRq();

 billAddRq.VendorRef.FullName.SetValue(vendBill.transaction.Name);
 billAddRq.TxnDate.SetValue(Convert.ToDateTime(vendBill.transaction.Date));
 billAddRq.RefNumber.SetValue(vendBill.transaction.DocNum);

我需要做些什么才能为这个供应商特定账单定义一个定制的供应商地址吗?

你没有提供足够的信息来解决这个问题(QuickBooks年份/版本,你的代码的其余部分,等等),所以我在这里只是胡乱猜测一下

直到QuickBooks 2014及更新版本,才支持
BillAdd
请求的
VendorAddress
节点。因此,如果您使用的是QuickBooks 2013或更高版本。。。不能使用这些节点

此外,QuickBooks API版本本身也有版本控制,因此如果指定使用小于
13.0
的任何qbXML版本,则不能使用这些节点


由于您没有发布正在使用的QuickBooks的哪个版本,或者在代码的其余部分中指定的qbXML的哪个版本,因此很难确定这是否是问题所在

您应该检查QuickBooks响应对象的StatusCode和StatusMessage。这将为您提供导致问题的详细错误消息。还要检查异常的所有属性。我无法实际获取状态代码,因为我的ResponseMsgSet.ResponseList在此请求后为null,因为错误会中断请求。您是否尝试只添加Addr1,而不是添加5个地址?