This error message is not specific to just Dynamics 365 when trying to view entity records within Internet Explorer put any server application depending on how it publishes the ATOM feed XML information and the browser settings when it comes to display.

Organisation Data Service

For the purposes of this article showing this based on a Dynamics 365 organisation but to be clear this service has been deprecated and the service should not be used. Use the Web API for all such calls.

/XRMServices/2011/OrganizationData.svc

Scenario

This can occur when trying to view a specific record that you retrieve from the Organisation Data Service endpoint in the IE browser. Using the convention https://YourOrganisation.crm11.dynamics.com/XRMServices/2011/OrganizationData.svc/ContactSet(guid’fef219f0-6bd4-e911-a815-000d3a0b81d4′). However just doing this at Entity Level (OrganizationData.svc/ContactSet) would show very basic information but avoid the error completely. This article will show you the default behaviour so you can see the differences and understand what is going on.

Internet Explorer (Default)

https://YourOrganisation.crm11.dynamics.com/XRMServices/2011/OrganizationData.svc/ContactSet

IE-Feed

Other than the contact.fullname value no other attributes are displayed. Plus, if you try to query a specific contact this will give you the browser error e.g. https://YourOrganisation.crm11.dynamics.com/XRMServices/2011/OrganizationData.svc/ContactSet(guid’fef219f0-6bd4-e911-a815-000d3a0b81d4′)

IE-notworking

To fix this uncheck the “Turn on feed reading view” option

ie-chanage.PNG

Then VOILA

ie-working

Now that you have made this change you will also get more verbose information too when querying the EntitySet directly example ContactSet sometimes this can be useful when looking for a quick reference to other other lookup GUID’s etc.

ie-full

Google Chrome

This behaves in the same way automatically so there is nothing more to say here.

How about Web API?

So if using the Web API, Chrome will automatically give you the JSON output in the browser and is much more readable as seen below.

chrome-json

Whilst the Organisation Data Service supports both ATOM and JSON, Internet Explorer by design does not output JSON in the browser window and instead will prompt you to download the response.

This is standard behaviour and the basic recommendation is to associate .JSON files on your system with Notepad/Notepad++ and then open when prompted from within IE. There are other ways around it but none of them ideal such as:

  • Change the response mime-type header to text/plain (not ideal at all)
  • Change your registry settings (not ideal at all) as means all server responses treated in this way

The only really viable options are:

  • Associate JSON extension with notepad
  • Use Fiddler and the JSONViewer plugin to see the JSON format
  • Dont use IE and use Chrome/Firefox instead!

After reading all of that! The best option is to use CHROME! lol. Funnily enough it reminds me of a similar article I wrote here.

Give me strength.

JSON Formatters

If you working with raw JSON format it is often useful to easily be able to convert this to a more readable view so this:

{“@odata.context”:”https://internetschoolofbusinessdev.crm11.dynamics.com/api/data/v9.1/$metadata#accounts(name)”,”value”:[{“@odata.etag”:”W/\”1247998\””,”name”:”Fourth Coffee (sample)”,”accountid”:”98f219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1247999\””,”name”:”Litware, Inc. (sample)”,”accountid”:”9af219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248001\””,”name”:”Adventure Works (sample)”,”accountid”:”9cf219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248002\””,”name”:”Fabrikam, Inc. (sample)”,”accountid”:”9ef219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248003\””,”name”:”Blue Yonder Airlines (sample)”,”accountid”:”a0f219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248004\””,”name”:”City Power & Light (sample)”,”accountid”:”a2f219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248005\””,”name”:”Contoso Pharmaceuticals (sample)”,”accountid”:”a4f219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248006\””,”name”:”Alpine Ski House (sample)”,”accountid”:”a6f219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248007\””,”name”:”A. Datum Corporation (sample)”,”accountid”:”a8f219f0-6bd4-e911-a815-000d3a0b81d4″},{“@odata.etag”:”W/\”1248008\””,”name”:”Coho Winery (sample)”,”accountid”:”aaf219f0-6bd4-e911-a815-000d3a0b81d4″}]}

Becomes:

{
“@odata.context”: “https://internetschoolofbusinessdev.crm11.dynamics.com/api/data/v9.1/$metadata#accounts(name)”,
“value”: [{
“@odata.etag”: “W/\”1247998\””,
“name”: “Fourth Coffee (sample)”,
“accountid”: “98f219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1247999\””,
“name”: “Litware, Inc. (sample)”,
“accountid”: “9af219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248001\””,
“name”: “Adventure Works (sample)”,
“accountid”: “9cf219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248002\””,
“name”: “Fabrikam, Inc. (sample)”,
“accountid”: “9ef219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248003\””,
“name”: “Blue Yonder Airlines (sample)”,
“accountid”: “a0f219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248004\””,
“name”: “City Power & Light (sample)”,
“accountid”: “a2f219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248005\””,
“name”: “Contoso Pharmaceuticals (sample)”,
“accountid”: “a4f219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248006\””,
“name”: “Alpine Ski House (sample)”,
“accountid”: “a6f219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248007\””,
“name”: “A. Datum Corporation (sample)”,
“accountid”: “a8f219f0-6bd4-e911-a815-000d3a0b81d4”
}, {
“@odata.etag”: “W/\”1248008\””,
“name”: “Coho Winery (sample)”,
“accountid”: “aaf219f0-6bd4-e911-a815-000d3a0b81d4”
}
]
}

There are several ways to achieve this but I personally use any of the following:

  • The excellent plugin JSTool for NotePad++
  • JSON Viewer provided as an extension to Visual Studio
  • Fiddler – if doing lots with web services just make a request and look at JSON response it will automatically present in a tree view

JSTool for Notepad++

Download here: https://sourceforge.net/projects/jsminnpp/

Now just unzip and copy the JSMinNPP.dll file into your notepad++ Plugin folder and start the application. Its now accessible from menu.

JSONTool Plugin for Notepad++

JSON Viewer

If working within Visual Studio you can install the Extension which will allow you to paste in Raw JSON and reformat plus compare JSON. It’s useful if you doing work in VS. Once installed it is accessible from the Tool menu.

Fiddler JSON Viewer

If all you are doing is wanting to see JSON responses in a friendly format then using Fiddler just for that purpose may be a little overkill! It all depends on what you are debugging or working on at the time. Issue yuor get request in browser, double-click the session and then click on the JSON menu header

Advertisement