Enterprise Portal Web Controls Development in AX 2012 R3 CU8

By Bill Thompson | February 26, 2015

This week, I have been working on modifying Enterprise Portal Web Controls in AX 2012 R3 CU8 for a customer modification. Part of this process was changing the structure of an underlying table prior to working on the the control.  After making the table change, I would go into Enterprise Portal, and attempt to view a page, and would get the following error message:

An unexpected error has occurred.

Exception of type 'Microsoft.Dynamics.AX.Framework.Services.Metadata.Exceptions.MetadataItemException`1[Microsoft.Dynamics.AX.Framework.Services.Metadata.Contracts.QueryDataSourceMetadata]' was thrown.

Microsoft.Dynamics.AX.Framework.Services.Client.InteractionServiceException

at Microsoft.Dynamics.AX.Framework.Services.Client.ServiceClientHelper.InvokeChannelOperation[TResult,TChannel](IServiceClient`1 client, Func`2 operationInvoker, Func`2 exceptionWrapper)

at Microsoft.Dynamics.AX.Framework.Services.Client.InteractionService.InteractionServiceClient.Initialize(IInteractionArguments interactionArguments, IInteractionObjectIdentifier interactionObjectIdentifier)

at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxListPageContentArea.InitializeListPageContentArea()

at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxListPageContentArea.OnLoad(EventArgs e)

Exception of type 'Microsoft.Dynamics.AX.Framework.Services.Metadata.Exceptions.MetadataItemException`1[Microsoft.Dynamics.AX.Framework.Services.Metadata.Contracts.QueryDataSourceMetadata]' was thrown.

System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]
Server stack trace:

at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)

at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)

at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)

at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:

at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

at Microsoft.Dynamics.AX.Framework.Services.InteractionService.IInteractionService.Initialize(InteractionArguments interactionArguments, InteractionObjectIdentifier interactionObjectIdentifier)

at Microsoft.Dynamics.AX.Framework.Services.Client.ServiceClientHelper.InvokeChannelOperation[TResult,TChannel](IServiceClient`1 client, Func`2 operationInvoker, Func`2 exceptionWrapper)

After doing some digging, I found the control that was causing the error, and loaded it up in Visual Studio. Visual Studio stated that there was an undefined field in the Dataset used on the control. Looking in the AOT, the field is listed in the dataset, so I was a bit confused.

Doing some research, it appears that caching was the culprit.  I cleared out the Dictionary cache from inside the Development environment (Tools > Cashes > Refresh Dictionary) and redeployed my Enterprise Portal again, and the error was gone.

NOTE: Restarting the AOS would have accomplished the same, but for this case, it would have been overkill to restart the AOS when the cache clear would resolve the issue.

I just wanted to pass this one on to everyone so they are aware of what can be the cause of this issue when doing Enterprise Portal Development.

Start the Conversation

It’s our mission to help clients win. We’d love to talk to you about the right business solutions to help you achieve your goals.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!

X