In Dynamics Ax 2012 you can expose your custom logic as Custom service.
Like wcf service the custom ax services also contains Data contracts and Custom business logic.
Simplest customer services contains three things
- X++ Class
- Service Node
- Service Group node.
Very simple custom service project structure will be look like as follow,
X++ Class as service Business logic:
You can create as many methods which will become operation in as many as you want in X++. These method must be tagged with SysEntryPointAttribute. You have to set property of class run at server.
The class method which will be exposing as service method will be public and SysEntryPointAttribute attribute will be define on above the method signature.
Currently our service just exposes one method which return one integer value representing how many times the method called.
The Class method will be look like
Compile the class.
Service node:
To expose services implementation class as service. You have to create a new service under services node of AOT. On newly created service following three things required to expose class as service.
- Service implementation Class
- Namespaces
- External Name.
Service Implementation Class is required property, We have to select the implementation service class here.
Namespaces : this optional but some times services deployment generates various deployment error. To avoid these deployment errors you must define this. In my example I define it with following UrL
http://schemas.microsoft.com/dynamics/2008/01/services
External Name: this is optional you can define external name for each service. Currently we are use the same name of service name as its external name
Now create a new service node. Right click on service node and from property window select class which you just created.
In Service Node with public methods declared in class and tags with (SysEntryPointAttribute tagged) become as operations.
After that click on operations node in service node and right click and select add Operation.
This will show you all methods of service class which can be expose as service method. In our case it is only one.
Select that and click on ok.
This will show the CountNumberOfHits method under operations. Right click on services and select compile.
Service groups:
Services group node contains the services and provide the public address used to consume by other application.
, One way to drag and drop you service into Main AOT node of service group This will create a new service group. Rename it accordingly. Second way to create a new service node and add our custom services as service of service group.
Right click on Service group and select deploy the service group.
After successful incremental CIL generation services will be deployed and you can see it at in AIF framework on Dynamics AX application in following. Path.
System Administration è Services and application integration framework è in bound ports.