Microsoft Dynamics AX Execute

On this Page

Snap type:Write
Description:

This Snap calls the Dynamics AX AIF endpoint using the incoming data and writes out a SOAP response.

ETL Transformations & Data Flow

This Snap enables the following ETL operations or flows:

  • Extract data from the upstream Snap containing the data for performing the provided action on the Dynamics AX object(s)
  • Transform the input document into a SnapLogic-friendly JSON Document
  • Load the data into the Dynamics AX Execute Snap to perform the operation on the AX object(s)

Expected upstream Snaps: Mapper Snap

Expected downstream Snaps: None

Input & Output

  • InputNeeds to have an upstream Snap that contains the mandatory fields for performing the respective operation on the AX objects(s). The Mapper Snap is a preferred upstream Snap as it populates the input schema for the selected Dynamics AX Object Type.

  • Output: A document with the result set. If the operation is successful, then the output document will contain the information on the AX object(s) being operated.

Modes

  • Ultra Pipelines: Works in Ultra Pipelines when the connection timeout is not 0 seconds.
Prerequisites:

1. Microsoft Dynamics AX 2012 R3 instance

2. An enhanced integration inbound port on the AX instance that containing the Update operation configured

Limitations and Known Issues:

NA

Configurations:

Account & Access

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Microsoft Dynamics AX Account for information on setting up this type of account.

Views

InputThis Snap has exactly one document input view.
OutputThis Snap has exactly one document output view.
ErrorThis Snap has at most one document error view and produces zero or more documents in the view.
Troubleshooting:For troubleshooting purposes, try performing the same operation directly on the User Interface or by sending the appropriate SOAP request to the Dynamics AX AIF Endpoint. Use Soap UI (version 4.6.3) and collect the necessary data. To see if there are any inconsistencies, compare the data used in the User Interface or Soap UI with the SnapLogic pipelines.

Settings

Label


Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

WSDL URL

Required. The URL for the Dynamcis AX AIF Endpoint WSDL.

Example: http://AXMachine/MicrosoftDynamicsAXAif60/AXCustomer/xppservice.svc?wsdl

Default value: [None]

Service

Required. The system function that has been exposed to Web-based protocols.

Example: {http://tempuri.org/}RoutingService

Default value: [None]

Endpoint

Required. Basic HTTP Endpoint that contains the operations of the particular object type.

Example: {http://tempuri.org/}BasicHttpBinding_CustomerService

Default value: [None]

Operation

Required. Operation to invoke.

The list of operations that can be invoked on the Dynamics AX objects are: getKeys, getChangedKeys, find, findKeys, create, delete, update, read

Example: {http://tempuri.org/}getKeys

Default value: [None]

Timeout

Required. Timeout for the web service call (in seconds). 0 indicates no timeout.

Example: 60

Default value: 60

Trust all certificates

Select this option to trust all certificates, such as self-signed certificates.

Default value: Not selected 

Output SOAP envelopeSelect this option to output the whole SOAP envelope instead of just the SOAP body.
Default value: Not selected
Output HTTP response headersSelect this option to output the HTTP headers in the response.
Default value: Not selected
SSL ProtocolAdvance setting, leave blank to allow a Java default.  
Response to null SOAP call return value

Required. Specifies an action to be taken when a SOAP call returns an empty response. The default action is Output no documents.

You can handle SOAP call with an empty response in the following ways:

  • Output no documents: The Snap executes successfully and returns no output document.
  • Output empty document: The Snap executes successfully and returns an empty document in the output view.
  • Write error document: The Snap execution fails and returns an error document in the error view. 

Default value: Output no documents

Maximum request attempts

Specifies the maximum number of attempts to be made to receive a SOAP response. The SOAP request is terminated if the attempts do not result in a SOAP response. If no value specified, only one attempt is made before terminating a SOAP request.

Default value: 3

Retry interval

Specifies the interval between two successive SOAP requests. A retry happens only when the previous attempt resulted in an exception. 

Default value: 2

Success condition

An expression to match success criteria in the SOAP response.

Example: (with expression toggle on) $['SOAP-ENV:Body']['ns2:orderResponse']['ns2:result'] == "success"

This would match the success criteria in this SOAP response:

[
  {
    "SOAP-ENV:Body": {
      "@xmlns:SOAP-ENV": "http://schemas.xmlsoap.org/soap.envelope",
      "ns2:orderResponse": {
        "@xmlns:ns2": "http://www/snaplogic.com/snapbox/order",
        "ns2:result": "success",
        "ns2:transactionId": "533822"
      }
    }
  }
]

The user can find the SOAP output by setting Execute during preview on the SOAP Execute Snap, then seeing what comes out. You can also hook up a Mapper Snap and see the schema there. You can do that on the input view, but not the output view.

Default value: [None]

Library API

This property enables Snap execution over HTTP. Use the appropriate library to utilize the latest SOAP capabilities. The available options are:

  • Apache HttpComponents
  • Apache CXF

Default value: Apache CXF

We recommend using HttpComponents, because Apache no longer maintains CXF v2.

Customize Envelope

Launches the XML editor which will generate a SOAP envelope based on the defined properties, WSDL URLService namePort name and Operation. The editor will load an envelope if it was defined previously. The editor allows you to save SOAP envelopes in SnapLogic's file system or import existing SOAP envelopes from it. The Apache Velocity template can be used to pass dynamic values from upstream Snaps.

Any content that needs escaping from Velocity editor parsing can be enclosed with the following syntax:

#[[ <data> ]]#

See https://velocity.apache.org/engine/1.7/vtl-reference.html#unparsed-content for more information.

Default value: [None]

HTTP header

This property lets you supply HTTP header key-value pairs.

Default value: [None]

Attachments

This property lets you add attachments.

Default value: [None] 

Snap Execution

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Basic Use Case


The following pipeline describes how the Snap functions as a standalone Snap in a pipeline:


The Mapper Snap maps the values to be passed. The key value is passed using the pipeline parameter:


The successful execution of the pipeline displays the below output preview:


Typical Configuration


Key configuration of the Snap lies in how the values are passed. The values can be passed:

With Expressions

  • Query from an upstream Snap: Mapper Snap passing the required statements to the Dynamics AX Execute Snap:


The Value and the Field values are passes using the JSON Generator Snap:



  • Pipeline Parameter: Pipeline parameter set to pass the required statements to the Dynamics AX Execute Snap:

 The End point is passed using the pipeline parameters.


Advanced Use case


The following describes a pipeline with a broader business logic involving multiple ETL transformations. It shows how, in an enterprise environment, an Execute functionality can typically be used. The pipeline download link is below.  

The pipeline reads the records from a Salesforce instance, creates and Reads them on the Dynamics AX instance.


The ETL Transformations:

Extract: The Salesforce Snap retrieves the records from an object type on the Salesforce instance.

Transform: The Head Snap lists the top five documents from the Object and the Mapper Snap maps them to the Object where the fields are updated.

Load: The Dynamics AX Execute Snap creates the records on the AX instance, maps the fields to be read from the Object.


Snap Pack History

 Click to view/expand
ReleaseSnap Pack VersionDateTypeUpdates

4.27

main12833

 

Stable

Upgraded with the latest SnapLogic Platform release.
4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25main9554
 
Stable

Upgraded with the latest SnapLogic Platform release.

4.24main8556
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430
 
StableUpgraded with the latest SnapLogic Platform release.
4.22main6403
 
StableUpgraded with the latest SnapLogic Platform release.
4.21 Patch421patches5851 Latest

Fixed an issue in the Microsoft Dynamics AX Execute Snap that fails when using the Apache HTTPComponents library API if the request XML has Unicode characters. 

4.21snapsmrc542

 

StableUpgraded with the latest SnapLogic Platform release.
4.20 Patch msdynamicsax8763 Latest

Fixed the Microsoft Dynamics AX Execute Snap to use the correct header list for returning the HTTP response code.

4.20snapsmrc535
 
StableUpgraded with the latest SnapLogic Platform release.
4.19 Patch msdynamicsax8376 Latest

The MS Dynamics AX Snaps have a Library API field. When the selected value is the non-default HTTP Components, there was a breaking change in the structure of the output response document between 4.19 GA version (snapsmrc528) and the latest patch version (msdynamicsax8376). 

We recommend that if you want to use the non-default (non-CXF) value for Library API, then you must use this latest patch version as subsequent GA releases may result in Pipeline executions failing. 

If your current or new Pipelines use CXF as the Library API value, or do not handle SOAP response bodies greater than 1000 lines, or do not rely on NTLM authentication, then you can continue using your existing Snap Pack version (stable distribution – snapsmrc528).

4.19snaprsmrc528
 
StableUpgraded with the latest SnapLogic Platform release.
4.18snapsmrc523
 
StableUpgraded with the latest SnapLogic Platform release.
4.17ALL7402
 
Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17snapsmrc515
 
Latest

Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.

4.16snapsmrc508
 
StableUpgraded with the latest SnapLogic Platform release.
4.15snapsmrc500
 
StableUpgraded with the latest SnapLogic Platform release.
4.14snapsmrc490
 
StableUpgraded with the latest SnapLogic Platform release.
4.13

snapsmrc486

 
StableUpgraded with the latest SnapLogic Platform release.
4.12

snapsmrc480

 
StableUpgraded with the latest SnapLogic Platform release.
4.11snapsmrc465
 
Stable

Introduced the MS Dynamics AX Snap Pack for this release with the Dynamics AX NTLM account type and includes the Snaps, Dynamics AX Create, Dynamics AX Read, Dynamics AX Delete, Dynamics AX Execute, Dynamics AX Update and Dynamics AX Search.