You might have noticed installation wizard asking for two services while installing Management Reporter server component. The application service is used by MR clients to connect with server and access the MR data. While the process service is used to generate reports that MR clients push to report queue.
Tuesday, May 8, 2012
Thursday, May 3, 2012
Cannot logon to Dynamics AX...getting this error when trying to consume Customer AIF service..Cont
Alright, so the second exception I was getting on Customer service create() method was due to the fact that I did not set the correct Delivery mode in Sales and marketing module of AX 2012.
If anyone needs the customer AIF service code that takes data from a CSV file and load it to AX, please feel free to contact me. I do have the code available for Vendor and Item master.
If anyone needs the customer AIF service code that takes data from a CSV file and load it to AX, please feel free to contact me. I do have the code available for Vendor and Item master.
Wednesday, May 2, 2012
Disable development workspace - AX 2012
In order to disable the development workspace in MS Dynamics AX 2012, you need to delete the license codes for the following:
It will synchronize on closing the license info form. Let it do it. Then re-launch the client which will present disabled Dev workspace. Make sure to back up the CUS and USR layer code as removing the license codes will also remove any custom code on these layers.
1. Remove Product Builder's license code in Feature sets
tab.
2. X++ Source Code
3. Enable license code authoring and editing
4. Windows Morphx Development Suite
It will synchronize on closing the license info form. Let it do it. Then re-launch the client which will present disabled Dev workspace. Make sure to back up the CUS and USR layer code as removing the license codes will also remove any custom code on these layers.
Cannot logon to Dynamics AX...getting this error when trying to consume Customer AIF service
Today, I was writing C# code to consume out of the box customer service to create customers from a CSV file. Everything worked quite ok but when the create() method of customer service was called, I got the logon failure message. Further, the event viewer gave the following information:
Object Server 01:
An error has occurred in the services framework. Method: AifMessageInspector::AfterReceiveRequest. Error: System.ServiceModel.FaultException: Failed to logon to Microsoft Dynamics AX.
at Microsoft.Dynamics.Ax.Services.AxServiceOperationContext.InitializeSession()
at Microsoft.Dynamics.Ax.Services.AxServiceOperationContext.InitializeContext()
at Microsoft.Dynamics.Ax.Services.AxServiceOperationContext.Attach(OperationContext owner)
at System.ServiceModel.ExtensionCollection`1.InsertItem(Int32 index, IExtension`1 item)
at System.Collections.Generic.SynchronizedCollection`1.Add(T item)
at Microsoft.Dynamics.Ax.Services.AifMessageInspector.AfterReceiveRequest(Message& request, IClientChannel channel, InstanceContext instanceContext)
After I looked at some blog posts, I tried to refresh the WCF services from client configuration. After applying the changes, I ran the C# code and luckily this time the Logon failure was no longer there. However, I got another exception with the following details:
System.ServiceModel.FaultException`1 was unhandled
Message=Request Failed. See the Exception Log for details.
Source=mscorlib
Action=http://schemas.microsoft.com/dynamics/2008/01/services/CustomerService/createAifFaultFault
StackTrace:
Server stack trace:
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 CustomerServices.ServiceReference1.CustomerService.create(CustomerServiceCreateRequest request)
at CustomerServices.ServiceReference1.CustomerServiceClient.CustomerServices.ServiceReference1.CustomerService.create(CustomerServiceCreateRequest request) in c:\users\imran.rana\documents\visual studio 2010\Projects\CustomerServices\CustomerServices\Service References\ServiceReference1\Reference.cs:line 9063
at CustomerServices.ServiceReference1.CustomerServiceClient.create(CallContext CallContext, AxdCustomer Customer) in c:\users\imran.rana\documents\visual studio 2010\Projects\CustomerServices\CustomerServices\Service References\ServiceReference1\Reference.cs:line 9070
at CustomerServices.Program.Main(String[] args) in c:\users\imran.rana\documents\visual studio 2010\Projects\CustomerServices\CustomerServices\Program.cs:line 139
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
At this point, I am trying to figure out what went wrong. Readers may try the first option as they might not be getting the second exception as I am.
Object Server 01:
An error has occurred in the services framework. Method: AifMessageInspector::AfterReceiveRequest. Error: System.ServiceModel.FaultException: Failed to logon to Microsoft Dynamics AX.
at Microsoft.Dynamics.Ax.Services.AxServiceOperationContext.InitializeSession()
at Microsoft.Dynamics.Ax.Services.AxServiceOperationContext.InitializeContext()
at Microsoft.Dynamics.Ax.Services.AxServiceOperationContext.Attach(OperationContext owner)
at System.ServiceModel.ExtensionCollection`1.InsertItem(Int32 index, IExtension`1 item)
at System.Collections.Generic.SynchronizedCollection`1.Add(T item)
at Microsoft.Dynamics.Ax.Services.AifMessageInspector.AfterReceiveRequest(Message& request, IClientChannel channel, InstanceContext instanceContext)
After I looked at some blog posts, I tried to refresh the WCF services from client configuration. After applying the changes, I ran the C# code and luckily this time the Logon failure was no longer there. However, I got another exception with the following details:
System.ServiceModel.FaultException`1 was unhandled
Message=Request Failed. See the Exception Log for details.
Source=mscorlib
Action=http://schemas.microsoft.com/dynamics/2008/01/services/CustomerService/createAifFaultFault
StackTrace:
Server stack trace:
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 CustomerServices.ServiceReference1.CustomerService.create(CustomerServiceCreateRequest request)
at CustomerServices.ServiceReference1.CustomerServiceClient.CustomerServices.ServiceReference1.CustomerService.create(CustomerServiceCreateRequest request) in c:\users\imran.rana\documents\visual studio 2010\Projects\CustomerServices\CustomerServices\Service References\ServiceReference1\Reference.cs:line 9063
at CustomerServices.ServiceReference1.CustomerServiceClient.create(CallContext CallContext, AxdCustomer Customer) in c:\users\imran.rana\documents\visual studio 2010\Projects\CustomerServices\CustomerServices\Service References\ServiceReference1\Reference.cs:line 9070
at CustomerServices.Program.Main(String[] args) in c:\users\imran.rana\documents\visual studio 2010\Projects\CustomerServices\CustomerServices\Program.cs:line 139
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
At this point, I am trying to figure out what went wrong. Readers may try the first option as they might not be getting the second exception as I am.
Tuesday, April 24, 2012
Derived financial hierarchies - For Adhoc Financial Analytics
Derived financial hierarchies in MS Dynamics AX 2012 Public Sector solution are very useful
for adhoc analytics and gives you the provision to associate the financial
dimensions (including main accounts) with financial categories. This avoids entering
the financial categories at the transaction level. In other words, these
financial categories are sort of virtual dimensions. The derived financial
hierarchies feature was developed in AX 2012 considering the CGAC requirements
for US.
As far as using the derived hierarchies is concerned, you can use it either from AX rich client (GL>Financial dimensions>Set up hierarchies button>View filter results button) or from the Ledger cube (OLAP reporting).
As far as using the derived hierarchies is concerned, you can use it either from AX rich client (GL>Financial dimensions>Set up hierarchies button>View filter results button) or from the Ledger cube (OLAP reporting).
Sunday, April 22, 2012
Signing limits in AX 2012
Efficient management of expenditures is the key to financial risk management for an organization. Organizations can now strengthen their internal controls on expenses using signing limits feature of Microsoft Dynamics AX 2012. Signing limits is an integral part of expenditure management where organizations can assign certain limits to their workers to spend a maximum amount on a purchase or gives authority to specific employees to authorize a certain amount of purchase initiated by their sub ordinates. Signing limits are based on either employee's job or compensation level. An organization can assign the signing limits automatically to an employee when taking on board or the employee can raise the request to assign signing limits through employee self service portal.
Out of the box, two types of signing limits are provided by AX, spending limit and approval limit. Spending limits are invoked at the time of purchase while approval limits at the time of approving a business document as part of approval workflow.
Out of the box, two types of signing limits are provided by AX, spending limit and approval limit. Spending limits are invoked at the time of purchase while approval limits at the time of approving a business document as part of approval workflow.
Friday, April 13, 2012
Advice to ISVs: How to license your solution developed on AX 2012
With new licensing Server/CAL model that MS has introduced for MS Dynamics AX 2012, it becomes really easy for resellers and customers to purchase AX leaving behind the old AX2009 licensing complexities. For ISVs now, they need to be very aware of the new licensing model and how it relates with new AX role based security framework in order to do the licensing for their custom developed solutions on AX 2012.
An ISV can follow the top-down or bottom-up approach to model the licensing for their solution. MS recommends top-down approach, where an ISV needs to think of who (users) will be using their solution, identify the potential roles, anticipate the expected duties and then further down to privileges, permissions, entry points (menu items). Finally, at the menu item level, they should think about what level of access is required to view or maintain the functionality exposed by this menu item and what should be the user CAL type assigned to view and maintain user licenses (menu item properties). This makes it easy to correctly assign the user CAL types to menu items.
In the bottom-up approach, an ISV will be directly assigning the user CAL types to menu items that will be exposed by privileges to roles to users. This is rather more error prone and hectic approach.
How an ISV can actually generate a license for custom solution using new licensing feature that comes with AX 2012, I will try to post an step by step guide for that.
An ISV can follow the top-down or bottom-up approach to model the licensing for their solution. MS recommends top-down approach, where an ISV needs to think of who (users) will be using their solution, identify the potential roles, anticipate the expected duties and then further down to privileges, permissions, entry points (menu items). Finally, at the menu item level, they should think about what level of access is required to view or maintain the functionality exposed by this menu item and what should be the user CAL type assigned to view and maintain user licenses (menu item properties). This makes it easy to correctly assign the user CAL types to menu items.
In the bottom-up approach, an ISV will be directly assigning the user CAL types to menu items that will be exposed by privileges to roles to users. This is rather more error prone and hectic approach.
How an ISV can actually generate a license for custom solution using new licensing feature that comes with AX 2012, I will try to post an step by step guide for that.
Subscribe to:
Posts (Atom)