AX 2012 The formatter threw an exception while trying to deserialize the message

The formatter threw an exception while trying to deserialize the message Dynamics AX 2012 R3 SSRS

For anyone who has had the misfortune of seeing this error it will mean that your AX system is currently throwing this error for all users for all SSRS reports.


If you have looked at other forums (there are lots out there) you will see most people jump straight to a full restart and potentially a CIL and some SQL table clear downs such as the following:

– Restart AOS

– Restart SSRS service

 

Maybe needed    – Delete records in table SysClientSession

From my experience a restart of all AOS’s will normally resolve the issue but for those of you who cannot afford repeated downtime in production there is a way around this normally without downtime.

Solution without downtime:

Essentially, we have to look at what exactly occurs when you restart the AOS and try and find the fix. On an AOS service restart it restarts (deactivates/activates) all the AIF inbound ports. These are located:

System administration > Setup > Services and Application Integration Framework > Inbound ports.


You will see I have highlighted one called BIServices, this is the inbound port AX 2012 uses to communicate with SSRS.

If you have multiple AOSs (PROD should have) you will need to look at which AOS SSRS is looking at for its communication. As by default SSRS will not load balance its traffic between AOS’s as the net services does not load balance unless there is an NLB (or similar) in place.

The solution is to:

  1. Go to the inbound port called BIServices on the AOS that SSRS is using
  2. Deactivate it
  3. Activate it

This will normally resolve the error. If it does not then your best bet is to try the original restart all AOS’s and SSRS

Any feedback / questions please send them through.

 

Author: axtechcdean

I started my Dynamics career back in 2010, spending 6 years working for a Microsoft Dynamics gold partner where I specialised in Dynamics AX within the manufacturing sector. Over that time my role developed from performing back end technical tasks to more of a customer facing technical role. I enjoy working closely with clients; helping them by training and consultancy to understand and get the most from their investment in Dynamics. From there I joined a global manufacturing company where I was responsible for implementing best practice technical procedures in order to optimise the performance and stability of their AX platform and improving the user’s system experience. I found being on the “other side of the fence” a very interesting and rewarding experience. I have now returned to a gold global partner as the technical delivery manager.

6 thoughts on “AX 2012 The formatter threw an exception while trying to deserialize the message”

  1. We tried this solution but it didn’t help. It’s not even possible to activate the port from the UI, getting the following error:
    The port ‘BIServices’ could not be deployed.
    Error: The port ‘BIServices’ has no service operations.

    It gives the same result on our test system. Even more weird: we can still print SSRS reports, so this port seems to have nothing to do with printing an SSRS report in AX?

    Like

    1. We were also able to solve it without an AOS restart. It did require a full CIL generation though, so our batch processes didn’t work for about 15 minutes.

      Like

  2. Hi,
    Thanks for the comments – correct this solution will only work when you have a fully built CIL. Otherwise the de-activation / activation of the AIF services will not work.

    Generally I would not recommend running a full CIL in a production system in a multiple AOS configuration as this can make the CIL out of sync between the AOS’s but I am glad the issue is fixed.

    Charlie

    Like

  3. I imagine the AIF port was active so the SSRS reports were working, the error above generally appears when you are running SSRS reports so my gut feeling is it was CIL issues giving you the error rather than the BIServices port 🙂

    Like

  4. This is great, thanks for sharing. I used to stop both AOS whenever this happened. Deactivating and Activating the AIF port is much more convenient.

    Like

  5. In case somebody is wondering how-to identify the AOS that the SSRS is using – either look into the business connector configuration on the SSRS server machine, or look into the Microsoft.Dynamics.AX.ReportingConfiguration.axc in the reportserver bin directory.

    Like

Leave a comment