2014-04-29 16 views
1

我無法簡單地使用.NET C#SDK創建帳單。使用.NET c#IPP數據服務SDK創建新的QuickBooks時所需的屬性Bill

我收到一個異常,指出我沒有提供必需的參數。

所以我去了IPP在線文檔瀏覽: https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/030_entity_services_reference/bill

使用他們的示例XML,主要內容如下:

<Bill xmlns="http://schema.intuit.com/finance/v3" > 
    <Line> 
     <Id>1</Id> 
     <Amount>700.00</Amount> 
     <DetailType>AccountBasedExpenseLineDetail</DetailType> 
     <AccountBasedExpenseLineDetail> 
      <AccountRef>75</AccountRef> 
     </AccountBasedExpenseLineDetail> 
    </Line> 
    <VendorRef>81</VendorRef> 
</Bill> 

我已經轉換這(只改變一些值)以下c#代碼,請假定我的數據服務是有效的(它是):

 var bill = new Bill 
      { 
       Line = new[] 
        { 
         new Line 
          { 
           Id = "1", 
           Amount = (decimal) 700.00, 
           DetailType = LineDetailTypeEnum.AccountBasedExpenseLineDetail, 
           AnyIntuitObject = new AccountBasedExpenseLineDetail 
            { 
             AccountRef = new ReferenceType 
              { 
               Value = "90" 
              } 
            } 
          } 
        }, 
        VendorRef = new ReferenceType 
         { 
          Value = "7" 
         } 
      }; 
     Bill resultBill = IppDataService.Add(bill) as Bill; 
     return resultBill; 

但是,這段代碼會拋出一個ex數據服務添加方法上的ception。最高級別是「IdsExcption:錯誤的請求」。內部異常是「ValidationException」,內部異常是「IdsError:缺少必需的參數,需要爲API提供所需的值」。

由於我使用了Intuit的示例,我不確定哪些參數可能會丟失 - 儘管也許我正在從XML錯誤地轉換爲SDK對象。

這裏有什麼想法嗎?對於給定API調用明確說明文檔的位置的任何進一步概念,添加需要哪些參數?

非常感謝。

回答

3

我需要首先了解這是美國公司還是全球?

我建議你登錄請求/響應XML檢查是越來越與你的代碼生成的內容。 https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0150_ipp_.net_devkit_3.0

有一些屬性可以爲任何實體結束'指定',除非將它們設置爲true(布爾值),否則它們不會爲您生成xml標記。 這可能會導致您的請求失敗。例如: billLine.Amount = 100m; billLine.AmountSpecified = true;

此外,您可以創建一個在您QBO UI法案,並使用API​​ Explorer的

https://developer.intuit.com/apiexplorer?apiname=V3QBO 與您要發送什麼理解的錯誤比較讀取XML。

+1

謝謝。問題是,你所描述的「指定」的屬性....欣賞它。 AmountSpecified必須設置爲true,並且DetailSpecified必須設置爲true。 –

相關問題