Browsing all articles tagged with Error Archives - Amer Atiyah, Microsoft Dynamics 365 Blog
7

If you ever started working on the image downloaded from the Microsoft PartnerSource of Microsoft Dynamics AX 2012, you might face a trouble while trying to explore Role Centers or Enterprise Portals.


This error is due to the configuration setup in the AX2012 image that let’s DNS points to contoso.com domain. What has to be done is to redirect that domain to the current machine (which is the same virtual machine you’re using).

To do so you must add a loop back IP to your” Hosts” file. You can think of that files a Rolodex for your computer. Its where a computer looks first to translate the URL of a website into a numerical IP address that it can actually use. You can find the “Hosts” file in: “C:\Windows\System32\drivers\etc\Hosts”.

To fix the issue, open the Hosts file a notepad and add this line to the end of the file:

127.0.0.1       dynamicsax.contoso.com

In the beginning, you might encounter the below error… but it will be fixed with “refresh”:

 

22

I have faced this error twice, I sloved it the first time by “Enabling the 32-bit Applications” on the application pool level of the workflow.

But in another time the installation was on Windows 2008 R2, and this made things harder. Enabling the 32-bit Application did not solve the issue. This actually happened because of the conflict in this Windows between the .NET framework 2.0 and .NET framework 4.0. It also might be caused of an authentication issue, so you better check that all one by one to get this validation problem resolved.

To solve the issue, I basically have gone through these steps: (of course I followed those steps after installing the workflow and I did not uninstall it)

  • Deleted the application from the IIS (the selected node in the picture below).

  • Added a “Virtual Directory” to the same site and named the new virtual directory with the same name of the deleted application.
  • In the physical path of the virtual directory, I pointed to the installed worklfow folder (most probably will be in “C:Program FilesMicrosoft Dynamics AX50Workflow“). This folder contains the web services of AX workflow.

  •  Then, I converted the new “Virtual Directory” to “Application” by right-clicking that directory and clicking “Convert to Application”.
  • I went to permissions of that application, by clicking (selecting) the “Applicaiton” you have just converted and double clicking “Authentication” and I insured that “ASP.NET Imporsenation” and “Windows Authentication” are enabled and any other things are disabled.
  • (Optional) You might disable the Kernel-mode authentication for the Windows Authentication by clicking the “Advanced settings” for the Windows Authenticaion. You cannot do that if if you have a kerberos authentication configured in your environment, if not.. then you better disable it to improve your environment performance.
  • I then went to the “Handler Mapping” of the Workflow Application. I selected “WebServiceHandlerFactory-ISAPI-2.0” and then clicked “Edit”. I insured that the “Executable” path is pointing to the .NET framework version 2.0 32-bit. (Note that this Windows contains on two versions of framework handlers and in two different folders inside the “C:WindowsMicrosoft.NET” folder.) In our case, you always have to point to the “aspnet_isapi.dll” file in the “Framework” folder not “Framework64”.

By this, you will be able to browse anyone of the *.asmx files in the Workflow Application. Also you might validate your workflow configuration.

Hopefully it has been resolved to you as well. :)

0

I have examined an error while trying to re-generate the proxies classes that are used in the Enterprise Portal.

When I traced the code, I discovered that this tool is actually updating .NET proxies classes based on the EP installation physical path. For some reason, this tool was not able to get that path.. the generated path was: “” (empty string).

What I did is that I got the physical path of the proxy classes, and changed the code where it tries to get that path and fixed it. This is done in ClassesSysEPDeploymentcreateDevWebsiteProxyDir.

This code shows what I did:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static client str createDevWebsiteProxyDir()
{
    #AOT
 
    Microsoft.Dynamics.Framework.Deployment.Portal.EPSharepointAdmin epSharepointAdmin;
    EPGlobalParameters epGlobalParam;
    str dir;
 
    select firstonly epGlobalParam;
 
    if(!epGlobalParam.DevelopmentSiteId)
        // UA!No development web site.
        throw error('@SYS108771');
 
    epSharepointAdmin = new Microsoft.Dynamics.Framework.Deployment.Portal.EPSharepointAdmin();
 
    /*comment from here
    dir = epSharepointAdmin.GetAppCodeDirectoryFromSiteId(guid2str(epGlobalParam.DevelopmentSiteId));
    comment to here*/
 
    //add this line of code (My installation was on this path)
    dir = "C:\inetpub\wwwroot\app_code";
    //In Dynamics AX VPC1, the installation is on this path <>
    dir = "C:\Inetpub\wwwroot\wss\VirtualDirectories\sharepoint80\App_Code";

Here is where the EP proxies classes to be generated and hence used by the Dynamics AX EP.

By this, the tool just worked fine :).

5

One of the few issues in Microsoft Dynamics AX 2009 that I always blaming Microsoft for not giving it in a proper way is: installing, configuring and administrating the EP (with all its related components line the SSRS, SSAS, IIS and WSS/MOSS). A great feature like this shouldn’t be left away like this Steve :)… we are dying, customers are blaiming, and partners are loosing money!

I had one issue in the last few days when I “re-installed” the EP, SSRS and SSAS then my client played with the environment and destroyed the installation. The environment was like the following:

  • SQL Server Reporting Services database is installed on another machine (Database server) than the windows service of SSRS (web server).
  • I had to use the Kerberos authentication to manage this distributed scenario

After completing the installtion of EP, SSRS and SSAS, configuring them and processing the cubes I had this error: “An error has occurred while establishing a connection to the analysis server.

Dynamics AX EP with Analaysis Services Connectivity Error

After invistigations, I discovered that the ODC file is not deployed to the EP. (ODC file is a file used to set the connnection string between the EP WSS and the Analysis Services.) You could check the ODC files by going to: Dynamics AX Enterprise Portal –> Site settings –> Site Administration –> Site Libraries and Lists –> Customize “Data connections” and then in the header area click Data Connections in the path: EP Site –> Data Connections –> Settings.

You could deploy the ODC file from within Microsoft Dynamics AX 2009 desktop client by clicking the Delpoye ODC Files button in the OLAP Administration form (Administration –> Setup –> Business analysis –> OLAP –> OLAP Administration).

OLAP Administration

But sometimes you will not be able to upload this file, and you will get an error when trying to connect to SQL and you have to check the Windows Event Log to follow that error up.

If so, then you have to maually create/upload the ODC file(s). A great post was written regarding the same issue on how you upload those ODC files specifically for Dynamics AX 2009 cubes. How to manually deploy ODC Files to Microsoft Dynamics AX 2009 Enterprise Portal.

In this post shortly the writer gives those ODC files so you could:

  1. download them,
  2. change the connection string to match yours and then
  3. deploy them to your environment

Have fun :).

6
Sometimes you might face an unexpected error when trying to insert new records to any of the Dynamics AX tables. The message you might have is like: Cannot create a record in Journal lines (LedgerJournalTrans). The record already exists.
You might also have tried to check the indexes of this table that shouldn’t be duplicated. And you got surprised when you are not violating those constraints, so there is no any rational reason why this error might appear.
After so many tries, I got to fix that error by:
  1. Backing-up my database (just in case that anything went wrong)
  2. Exporting the data of that table (from the AX Import/Export functionality)
  3. Deleting/Dropping the table from the Microsoft SQL Server Management Studio (by this all the data of course will be deleted)
  4. Opening the Dynamics AX client, going to: AOT –> Data Dictionary –> Tables –> LedgerJournalTrans –> Right clieck –> Synchronize
  5. Importing the data again to all companies (from the AX Import/Export functionality.

As you could see, I got this error in a very critical table that is the LedgerJournalTrans table. This table contained already posted lines and it was really headache for me to get it fixed. But fortunately I was able to fix it by following the previous steps. :)

3

I faced a very strange error two times so far saying that there is date2StrUsr function:

“The wrong number of arguments has been specified for the function”

and on the base enum DateFlags:

“The enumeration does not exist on DateFlags base enum”.

 Actually this has happened due to some “crash” in the SP1 of Microsoft Dynamics AX 2009. DateFlags and date2StrUsr with the new arguments have been added to SP1 of Dynamics AX 2009.

 I still do not know what the cause of this error is. The two times I have faced this problem were on two different clients where those clients were in the system configuration phase and some data were imported already. So before this error came up, there were using the system with the SP1 installed just perfectly.

Anyway, in order to solve the problem.. you simply have to uninstall the AOS only.. restart your server, re-install it again with the same name you were specifying as an AOS name.

I’m listing here the steps of how you do that in a safe manner. You might not go through them, but if you’re system is up and running and contains data that you don’t want to lose.. do the following:

  1. Stop the AOS service
  2. Backup your DB in case you something went wrong (you never know)
  3. Install a new another AOS instance, DB and Application Files for testing purposes (you don’t need to start the service here)
  4. Install SP1 on the new AOS and Application Files
  5. Run the service
  6. Open your Dynamics AX client on the new AOS configuration. Go with check-list steps.. most importantly: Compile and Database Synchronization (no need to import any data)
  7. After you’re done of the check list, go to AOT and try to compile: CurrencyExchHelper.. class. Insure that it complies with no errors. (This class uses DateFlags and date2StrUsr of SP1). If you see the same errors on this new AOS instance, then your SP1 installation went wrong. Re-install it again. You might also insure that you are using good installation files by downloading them again from PartnerSource.
  8. After insuring the the SP1 installation went just right, you might need to move also the customization you were doing on the old instance. So stop the service, get the customized layer like axVAR.aod for example and paste it in the new application folder.
  9. Run the service again, and compile the whole application by going to: Administrationà Periodic à Compile application
  10. Now, you need to re-install the AOS service in the same name, by:
    1. Uninstall the AOS from Programs and features on Windows 2008 or Add/Remove programs on Windows 2003
    2. Restart the machine (this is important)
    3. Install the AOS in the same name of the old service (do not run the service)
    4. Install SP1 for the new AOS
    5. Stop all services of Dynamics AX 2009
    6. Start the Microsoft Dynamics AX 2009 Server Configuration Utility and change the application Instance of the old AOS to the new application folder. Also do the same for the database (point to the new database).
    7. Run the Old Service.
    8. Open Dynamics AX client on the old configuration and go to the CurrencyExchHelper class. Compile it and insure that it shows no errors.  
    9. Stop the service. Go to the old application folder, delete the file: axapd.aoi
    10. Start the Microsoft Dynamics AX 2009 Server Configuration Utility. Point the new service (with same old name) to the old database and application folder.
    11. Run the service.
    12. Terarararaaaa it runs and no compilation errors again! It is recommended that you re-compile the application again.

 

 

0

When you call the out-of-the-box AIF Sales Order Web Service, you might face a very strange and non-understandable error message saying:

The request failed with the following error: The element ‘SalesTable’ in namespace’http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder’ has invalid child element ‘QuotationId’ in namespace’http://schemas.microsoft.com/dynamics/2008/01/documents/SalesOrder’.

If you faced this, and looked for a solution you might have gone to Dianne Siebold’s WebLog:http://blogs.msdn.com/dsiebold/archive/2010/01/21/request-failed-error-in-aif.aspx. Honestly, in the beginning I did not get what she said. Then when I got what she is trying to say, I did not like it :D, with all my respect to her of course.

Now when you dig in the XSD generated from the Sales Order Service, you would notice that the field Customer requisition (PurchOrderFormNum) is mandatory… you have to include it in your message. This is what this “unclear” message is all about.

But the question that might cross to your mind is why I should include such field in my Sales Order although I can create new sales order in the Dynamics AX Sales Order Details form with filling this field.

This is what I will explain in my next post :).

0

When I installed Dynamics AX AIF to a new server with these specs:

  • Windows 2008
  • IIS 7
  • .Net Business Connector

After installing those compoents + AIF Webservices (from the Dynamics AX 2009 media), you will not be able to view the .svc files in the IIS.

In order to vew the *.svc files and get the link in WSDL, you have to use the Service Model Registration toll in the .NET framework folder in windows. Follow these steps in order to have it viewed:

  1. Go to: Start> All programs> Microsoft Visual Studion 2008 (or 2005)> Visual Studio Tools> Visual Studio Command Prompt
  2. Write: cd <<<Windows installation path>>>windowsMicrosoft.NETFrameworkv3.0Windows Communication Foundation
  3. Write: ServiceModelReg.exe -i -x

If this completed successfully, you now are able to view/browse the svc (WCF services) in IIS 7.

9

When you install Dynamics AX Workflow, you might install it on a different machine that the AOS, like a web server for example. In this case, you have to install the following on the workflow server to get your workflow works:

  1. IIS
  2. .NET Business Connector
  3. Create a new website on IIS (do not use the same of WSS or EP websites, it is recommended not to use an existing website even)
  4. Workflow

Before going into step number “4”, you have to configure the “System service accounts” in: Dynamics AX –> Administration –> Setup –> Secuity. Fill these fields like the following:

  • Busienss Connector Proxy: create a domain account and assign it here, this user doesn’t have to be a Dynamics AX user.
  • Workflow System Account: Select a user like the Administrator  from the drop down list
  • Workflow Execution Account: like the previous step

Now you should be able to go through the step “4”, and install the Workflow component.

After installation, go to Dynamics AX –> Administration –> Setup –>Workflow insfrastructure configuration wizard. If you are getting an error after installing Dynamics AX Workflow: “401 Unauthorized”, then insure that you go through the following:

  1. AOS Service is running under an active domain user (domainusername)
  2. Workflow website and workflow application pool are having the same .NET Business Connector user name Identity (and of course, this should be an active domain user)
  3. You added the workflow website (http://servername:portnumber/DynamicsAXWorkflow50 for example) to the trusted sites in Internet Options of AOS server
  4. Run the following on the Workflow server:
    • Start a command prompt.
    • Locate and then change to the directory that contains the Adsutil.vbs file. By default, this directory is C:InetpubAdminscripts.
    • Type the following command, and then press ENTER:

cscript adsutil.vbs set w3svc/NTAuthenticationProviders “NTLM”

    • To verify that the NtAuthenticationProviders metabase property is set to NTLM, type the following command, and then press ENTER:

cscript adsutil.vbs get w3svc/NTAuthenticationProviders

The following text should be returned:

NTAuthenticationProviders       : (STRING) "NTLM"

 

By this, workflow infrastructure configuration wizard should work fine now. :)

Dynamics AX 2012 Event

Recent Posts

Tags

Archives

Random Testimonial

  • ~ Mohammad A-Awami, Dynamics AX Specialist at WorleyParsons

    AlAwami"I worked with Amer for WorleyParsons. I found him very cooperative. He is able to help me in a lot of issues that related to ax. His ability to solve the problems is fascinating me. It is so fast and done on the best practice. His ability on business analysis and implantation are done on the best methods."

  • Read more testimonials »