OnTheAgo/API: Failed login errors
Issue
OnTheGo will not login and returns a "failed" error message or will login but immediately returns "An error has occurred" when attempting to use any function.
The resulting log file contains the following:
- 2014-06-18 21:01:51.9382:ExceptionAttributes:30:ERROR:UNHANDLED EXCEPTION Exo Business not installed
EXCEPTION: System.ArgumentException: Exo Business not installed
at MYOB.ED.EXO.Cloud.Model.Repository.ProfileRepository.GetComputerProfile(ComputerSelectMethod method)
at MYOB.ED.EXO.Cloud.Model.Services.ProfileManager.SetupProfiles()
at MYOB.ED.EXO.Cloud.Model.Services.ProfileManager.GetProfile(String profileName)
at MYOB.ED.EXO.Cloud.Model.Services.ProfileManager.GetProfileValue(String profileName)
at MYOB.ED.EXO.Cloud.Model.Services.ProfileManager.GetProfileValueAsString(String profileName)
at MYOB.ED.EXO.Cloud.Model.Repository.SalesOrderRepository.Load(String query, Object param, Int32 page, Int32 size, Dictionary`2 modelOrderByDictionary, String modelFilterStr)
at MYOB.ED.EXO.Cloud.Model.Repository.SalesOrderRepository.<>c__DisplayClass1ca.<GetAllPaged>b__1c9(Int32 page, Int32 size)
at MYOB.ED.EXO.Cloud.Model.Repository.PagerExtension.Page[T](IPaged`1 pager, Int32 number, Int32 size)
at MYOB.ED.EXO.Cloud.API.Controllers.V1.SalesOrderController.GetInternal(ODataQueryOptions`1 options)
at MYOB.ED.EXO.Cloud.API.Controllers.V1.BaseResourceController`2.DoGet(ODataQueryOptions`1 options)
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
Solution
The Company profile "Computer Identification Method" is set to "GUID" and must be changed to "ComputerName", "ClientName" or "ComputerName + ClientName" to successfully login.