Using Dynamics 365 Version 1612 (8.2.2.112) on-premises. On the Quote form, I have modified the action called by the Activate Quote to create a custom entity (Deal) record and then navigate to the newly created record. This worked perfectly fine in all browsers until 2 weeks ago. Now, it doesn't work in IE (client preferred - but does work in Chrome, Firefox and Edge) and all I get is some generic JSON error. "Invalid JSON. A token was not recognized in the JSON content."
No amount of debugging that I add seems to add any clarity. I am getting a 400 error in IE on the XMLHttpRequest at https://xxx.xxx.com/CRM/api/data/v8.2/quotes(04224AF9-DD70-E811-8123-000D3A02DFDB)/Microsoft.Dynamics.CRM.new_SubmitQuote
The full Response Body is pasted below.
The full JSON is pasted below
This is the JS that calls the action (new_SubmitQuote) to create the new Deal entity record and then navigate to that new record.
n.xxx_submitQuote=function(n){
r.showXrmProgressIndicator("Submitting, please wait...");
u.executeBoundAction("quotes",n,"new_SubmitQuote").then(function(n){
t.Utility.openEntityForm("sut_deal",n.sut_dealid,null,null)}).catch(r.logError).then(function(){
r.closeXrmProgressIndicator()
})
}
Any thoughts, ideas or suggestions would be greatly appreciated. I am stumped.
Thanks, Noah
JSON
{
"@odata.context":"https://xxx.xxx.com/CRM/api/data/v8.2/$metadata#quotes/$entity",
"@odata.etag":"W/\"54328330\"",
"new_spread":95903.0200,
"new_amount10percent":310777.7900,
"new_revenue10":777.79,
"new_paymentcount_date":"2018-06-19T00:53:29Z",
"_pricelevelid_value":"bfa9dc95-dbcd-e611-80d7-000d3a01f3fc",
"exchangerate":1.0000000000,
"totaldiscountamount":0.0000,
"name":"100026",
"totallineitemamount":0.0000,
"_transactioncurrencyid_value":"9107a2c3-bab1-e611-80d2-000d3a01f3fc",
"_owninguser_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"totalamount":0.0000,
"_ownerid_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"versionnumber":54328330,
"quoteid":"04224af9-dd70-e811-8123-000d3a02dfdb",
"totallineitemdiscountamount":0.0000,
"timezoneruleversionnumber":0,
"totalamountlessfreight_base":0.0000,
"statuscode":1,
"createdon":"2018-06-15T20:52:12Z",
"totaltax_base":0.0000,
"totallineitemamount_base":0.0000,
"totalamount_base":0.0000,
"modifiedon":"2018-06-15T20:53:23Z",
"totaltax":0.0000,
"totaldiscountamount_base":0.0000,
"quotenumber":"QUO-38015-F3D2B8",
"_modifiedby_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"revisionnumber":0,
"_createdby_value":"a9c113ac-d532-e811-8119-000d3a02dfdb",
"pricingerrorcode":0,
"totallineitemdiscountamount_base":0.0000,
"statecode":0,
"_owningbusinessunit_value":"1a1ad33f-bab1-e611-80d2-000d3a01f3fc",
"willcall":false,
"_customerid_value":"7a60bf77-dd70-e811-8123-000d3a02dfdb",
"billto_addressid":null,
"discountpercentage":null,
"shipto_composite":null,
"onholdtime":null,
"billto_line2":null,
"closedon":null,
"paymenttermscode":null,
"freightamount_base":null,
"_modifiedonbehalfby_value":null,
"freightamount":null,
"billto_city":null,
"_campaignid_value":null,
"shipto_line1":null,
"_contactid_value":null,
"requestdeliveryby":null,
"freighttermscode":null,
"billto_stateorprovince":null,
"effectivefrom":null,
"shipto_line3":null,
"discountamount_base":null,
"billto_line3":null,
"shipto_telephone":null,
"shipto_contactname":null,
"expireson":null,
"shipto_freighttermscode":null,
"shipto_line2":null,
"shipto_addressid":null,
"_opportunityid_value":null,
"shipto_fax":null,
"shipto_country":null,
"shipto_stateorprovince":null,
"billto_composite":null,
"billto_line1":null,
"billto_contactname":null,
"billto_telephone":null,
"shipto_city":null,
"_owningteam_value":null,
"discountamount":null,
"description":null,
"shippingmethodcode":null,
"processid":null,
"_accountid_value":null,
"_slainvokedid_value":null,
"stageid":null,
"traversedpath":null,
"billto_postalcode":null,
"utcconversiontimezonecode":null,
"shipto_name":null,
"overriddencreatedon":null,
"billto_fax":null,
"effectiveto":null,
"importsequencenumber":null,
"_new_createdby_value":null,
"shipto_postalcode":null,
"lastonholdtime":null,
"billto_name":null,
"_slaid_value":null,
"_createdonbehalfby_value":null,
"billto_country":null,
}
ERROR
{
"error":{
"code":"","message":"Invalid JSON. A token was not recognized in the JSON content.",
"innererror":{
"message":"Invalid JSON. A token was not recognized in the JSON content.","type":"Microsoft.Crm.CrmHttpException","stacktrace":"
at Microsoft.Crm.Extensibility.OData.CrmODataUtilities.ValidateInputParameters(ModelStateDictionary controllerModelState)
at Microsoft.Crm.Extensibility.OData.ActionController.PostBoundAction(String entityName, String key, String operationName, ODataUntypedActionParameters parameters)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult. <ExecuteAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"
}
}
}