We had a user looking up an opportunity by description so they could attach an email to the Opportunity. This brought the SData feature of Saleslogix into play since it is used by the Saleslogix Desktop integration.
However the Opportunity Lookup returned SData 500 error Internal Server Error.
This is the HTTP error Response URL: http://webserver23:3333/sdata/slx/dynamic/-/opportunies?where=Description like ‘*Candy*’ &orderBy=Description asc &include=Descriptiion%2CAccountManager%2CAccount%2CStage%2CStatus%2COwner%2CDescription%2Cid%2CAccount%2Caccount&startIndex=1&count=100
We were able to run the base sdata feed to opportunities and then continued adding the order by conditions until it failed on the account. That returned an error on accountID “AC0100000CD”; so we looked for that accountid in the account table and it did not exist. This was the big clue we were looking for! Since the sdata feed requires values, the null value in the account table returned an error. We inserted that value into the account table as a test and now the 500 errors are gone. With additional testing we found the “AC0100000CD” accountid was attached to over 100 opportunities in the opportunity table, hence the assumption this error happened “All the time”. As a cleanup we removed all rows in the Opportunity, Contact, and Ticket tables with the “AC0100000CD” accountid.
In conclusion, this was a problem with the data but it wasn’t apparent.