Intuit QBO SDK Update Bill error creating XML document ItemElementName does not match System.Decimal type

I use Intuit QBO SDK v3 Intuit.Ipp.QueryFilter.QueryService (Of Bill) to get a collection of accounts filtered by Bill.Id. The collection has been successfully completed. I want to change only the BillableStatus of some members of the ItemBasedExpenseLineDetail bill and update it using Intuit.Ipp.DataService.DataService.Update (Of Bill). Regardless of whether I change any of Bill's properties or not, the Update method generates the following error:

Intuit.Ipp.Exception.SerializationException: An error occurred while creating the XML document. ---> System.InvalidOperationException: An error occurred while generating an XML document. ---> System.InvalidOperationException: the value of ItemElementName does not match the type of System.Decimal; you need to set it to Intuit.Ipp.Data.ItemChoiceType. @UnitPrice. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBill.Write163_ItemBasedExpenseLineDetail (String n, String ns, ItemBasedExpenseLineDetail o, Boolean isNullable, Boolean needType, String.Ulite, LinearWriter nr. Boolean isNullable, Boolean needType) on Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBill.Write185_Bill (String n, String ns, Bill o, Boolean isNullable,Boolean needType) in Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterBill.Write186_Bill (Object o) --- End of internal exception stack check --- in System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces , String encodingStyle, String id) in System.Xml.Serialization.XmlSerializer.Serialize (stream threads, o objects, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal check for exception stack --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [ T] (object T)Serialization.GeneratedAssembly.XmlSerializationWriterBill.Write186_Bill (Object o) --- End of internal check for exception stack --- in System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespace, String encodingStyle, String id) System.Xml.Serialization.XmlSerializer.Serialize (stream streams, o objects, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal check for exception stack --- in Intuit.Ipp. Utility.XmlObjectSerializer.Serialize (object object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)Serialization.GeneratedAssembly.XmlSerializationWriterBill.Write186_Bill (Object o) --- End of internal check for exception stack --- in System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespace, String encodingStyle, String id) System.Xml.Serialization.XmlSerializer.Serialize (stream streams, o objects, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal check for exception stack --- in Intuit.Ipp. Utility.XmlObjectSerializer.Serialize (object object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)Write186_Bill (Object o) --- The end of the internal check of the exception stack --- in System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespace, String encodingStyle, String id) in System.Xml.Serialization. XmlSerializer.Serialize (stream threads, o objects, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal exception stack check --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize ( object object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)Write186_Bill (Object o) --- The end of the internal check of the exception stack --- in System.Xml.Serialization.XmlSerializer.Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespace, String encodingStyle, String id) in System.Xml.Serialization. XmlSerializer.Serialize (stream threads, o objects, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal exception stack check --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize ( object object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) in System.Xml.Serialization.XmlSerializer.Serialize (streams, objects o, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serializer object of the object) --- End of internal checking of the exception stack --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object of the object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)Serialize (XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) in System.Xml.Serialization.XmlSerializer.Serialize (streams, objects o, XmlSerializerNamespaces namespaces) in Intuit.Ipp.Utility.XmlObjectSerializer.Serializer object of an object) --- End of internal checking of the exception stack --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object of an object) in Intuit.Ipp.Core.Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)XmlSerializerNamespaces namespace) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal exception stack check --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) in Intuit.Ipp.Core. Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)XmlSerializerNamespaces namespace) in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) --- End of internal exception stack check --- in Intuit.Ipp.Utility.XmlObjectSerializer.Serialize (object object) in Intuit.Ipp.Core. Rest.RestHandler.PrepareRequest (RequestParameters requestParameters, Object requestBody, String oauthRequestUri) in Intuit.Ipp.DataService.DataService.Update [T] (object T)

ItemBasedExpenseLineDetail , -, Intuit.Ipp.Data.ItemChoiceType.UnitPrice, Watch Immediate, :

? DirectCast (qboItem.Line(0).AnyIntuitObject, Intuit.Ipp.Data.ItemBasedExpenseLineDetail).ItemElementName

UnitPrice {2}

, ?

+4
1

Aaaaaand, , Intuit.Developer.

, SDK, - XMl, - Json.

, .

, , / xml, boht json.

context.IppConfiguration.Message.Request.SerializationFormat = Intuit.Ipp.Core.Configuration.SerializationFormat.Json;

context.IppConfiguration.Message.Response.SerializationFormat = Intuit.Ipp.Core.Configuration.SerializationFormat.Json;

+7

All Articles