我正在尝试使用QuickBooks .NET REST API v2库创建客户。在调用数据服务对象的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 = "CVerdona@HorseBrains.com"
}
},
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);谢谢你能给我的任何建议!
发布于 2013-07-12 03:04:53
请尝试使用Apiexploer工具通过直接调用“create customer”终结点来创建customer对象。https://developer.intuit.com/apiexplorer?apiName=V2QBO
你也可以参考下面的文档API和.Net开发工具包链接。
希望这些能对你有所帮助
您是否可以使用客户实体的普通设置器进行检查。
发布于 2013-07-13 00:27:38
我注意到您正在使用Intuit.Ipp.Data.Qbd进行引用;因此为QBD创建了customer对象。然后在最后几行中,将id域作为QBO: SalesTermId = new () {idDomain = idDomainEnum.QBO,IdType= "8“},
请更正此错误。使用正确的库Intuit.Ipp.Data.Qbo
发布于 2013-07-19 16:00:54
附上一个示例代码供您参考:

https://stackoverflow.com/questions/17601192
复制相似问题