我正在嘗試使用QuickBooks .NET REST API v2庫創建客戶。在調用的DataService對象的Add()方法來提交請求,我得到我不明白的錯誤消息:嘗試插入客戶時收到錯誤
"EntityManager must be access within a transaction"
谷歌搜索錯誤消息變成了幾命中相對於Java的,但沒有一個看起來像他們真正解決了這個問題,我也沒有在Intuit-Partner-Platform文檔中找到關於該信息的任何文檔。
using Intuit.Ipp.Data.Qbd;
OAuthRequestValidator oauthValidator = new OAuthRequestValidator(accessToken, accessTokenSecret, Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
ServiceContext context = new ServiceContext(oauthValidator, Constants.APP_TOKEN, realmID, IntuitServicesType.QBD);
DataServices dataServices = new DataServices(context);
var writeCust = new Customer()
{
Name = "Carlos Verdona",
TypeOf = partyType.Person,
Address = new PhysicalAddress[]
{
new PhysicalAddress()
{
Line1 = "217 Tarboro Highway",
Line2 = "Apt. D",
City = "Langleyville",
CountrySubDivisionCode = "NC",
PostalCode = "55712",
Tag = new string[]{"Billing"}
}
},
Phone = new TelephoneNumber[]
{
new TelephoneNumber()
{
DeviceType = "Work",
FreeFormNumber = "111-345-3456"
},
new TelephoneNumber()
{
DeviceType = "Mobile",
FreeFormNumber = "111-345-3457"
}
},
WebSite = new WebSiteAddress[]
{
new WebSiteAddress()
{
URI = "http://www.HorseBrains.com"
}
},
Email = new EmailAddress[]
{
new EmailAddress()
{
Address = "[email protected]"
}
},
GivenName = "",
MiddleName = "",
FamilyName = "",
DBAName = "",
ShowAs = "Carlos Verdona",
//CustomField = new CustomField[]
//{
// new BooleanTypeCustomField()
// {
// DefinitionId = "Bill With Parent",
// Value = true
// },
// new StringTypeCustomField()
// {
// DefinitionId = "Preferred Delivery Method",
// Value = "PRINT"
// }
//},
SalesTermId = new IdType() {idDomain = idDomainEnum.QBO, Value = "8" },
};
//Create Customer
Customer output = dataServices.Add(writeCust);
感謝您的任何建議,你可以給!
嗨瑪納斯,我不明白你的意思是「你可以檢查使用普通的制定者客戶實體「 – DBallantyne
我的意思是...... Customer c = new Customer(); c.setName(「」)。我認爲這種做法是更可讀的(我認爲) 和構建對象之前..最好是使用apiexplorer測試對象。它有助於檢測XML特定的錯誤或語法錯誤。 –