• About

Day 2 Day Dynamics

~ Experiences of a working AX developer

Day 2 Day Dynamics

Monthly Archives: November 2015

Refresh-AXAifPort custom PowerShell function

12 Thursday Nov 2015

Posted by John Hagler in Powershell, X++

≈ 1 Comment

Tags

AIF, Application Integration Services, Automation, AutoRun, AX, AX 2012, AX Services, Dynamics AX, PowerShell

The Refresh-AXAifPort custom PowerShell function is very useful if you have customized AIF services.  It will allow you automatically push modifications to these services when you run it after Refresh-AXServices.

This is the first PowerShell function that I’ve published that requires AX code to work.  This function calls a custom Class\Static Method called D2DAutoRunHelper::AifPortRefresh().  This class automates the steps available from the AifInboundPort form.

AifInboundPortForm

The D2DAutoRunHelper class is available in Codeplex as an .xpo.  It must be imported into your environment for this PowerShell function to work.  The steps of the AifPortRefresh function are:

  • deactivates the port specified using the AIFPort parameter
  • removes all of the service class operations specified by the ServiceClass parameter
  • re-adds all existing operations minus the operations passed in the DisabledOperations parameter
  • disables then re-enables all fields minus the fields passed in the DisabledFields parameter
  • marks any fields required that are passed in the RequiredFields parameter
  • reactivates the port specified using the AIFPort parameter

Some things to be aware of:

  • you can’t disable a field that is required by the design of the service
  • you don’t need to mark required any fields that are required by the design of the service
  • for most services, you won’t need to pass DisabledOperations, DisabledFields or RequiredFields parameters as it will automatically deploy a service based on the design that exists in the AOT
  • the XPath value for fields should be used in the “Fields” parameters separated by commas (no spaces)

The Refresh-AXAifPort function takes between 1 and 12 parameters:

  • ConfigPath (Client configuration for the chosen AX environment)
  • LogFile (The value defaults to the temp folder but can be overridden if desired)
  • TimeOut (The value defaults to 30 minutes but can be overridden if desired)
  • AIFPort (The name of the AIF inbound port where the service is deployed)
  • ServiceClass (The name of the service class that is being exposed)
  • DisabledOperations (A comma delimited list of operations that aren’t exposed)
  • DisabledFields (A comma delimited list of fields that aren’t enabled)
  • RequiredFields (A comma delimited list of fields that are required)
  • SMTPServer (SMTP server to use to send the email)
  • MailMsg (Net.Mail.MailMessage object used to send the email)
  • AXVersion (The AX version.  It defaults to 6.)
  • VariablePath (Path to a file used to default the parameters/variables)

I use the VariablePath parameter the same way that I do in the other functions I’ve posted that use it.  This function can be found in Codeplex.  The steps of this function are:

  • Load the variables if a VariablePath parameter is used
  • Get the AX environment info using Get-AXConfig
  • Get the D2DAutoRunHelper::AifPortRefresh AutoRun xml using the Get-AXAutoRunXML function
  • Call the Start-AXAutoRun function to re-deploy the service

This function is being released as a stand-alone function as well as part of the 1.0.3 release of the D2DDynamics module.  The 1.0.3 release also includes a change to the Restore-AXDatabase function and Build-AXModel_Variables.ps1 to change the timeout parameter to use minutes like every other function in the module does.

This function should also only be run on the AOS server.  It has been tested using AX 2012 R2 CU7 but will probably work for other versions.

Follow Day 2 Day Dynamics on WordPress.com

Day 2 Day Dynamics

  • RSS - Posts
  • RSS - Comments

Follow me on Twitter

My Tweets

Recent Posts

  • Minimizing Database Calls
  • Push-AXModel custom PowerShell function
  • Clean-AXModel custom PowerShell function
  • Get-AXTFSCombinedXpo custom PowerShell Function
  • Refresh-AXAifPort custom PowerShell function

Archives

  • February 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015

John Hagler

John Hagler

John Hagler

I am the Dynamics AX Technical Architect at Dealer.com. I have been working with AX since Sep. 2006, starting with Axapta 3.0. I have worked as both a VAR and an AX customer.

View Full Profile →

Blog at WordPress.com.

  • Follow Following
    • Day 2 Day Dynamics
    • Already have a WordPress.com account? Log in now.
    • Day 2 Day Dynamics
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...