How to consume C# code in AX using Custom service?

1. Create table named SampleAIFTbl with 3 fields (Name, AddressCity, PhoneMobile),
one Class named SampleAIFServiceClass which have one method (getSampleList())
2. In this, I will consume data in to the DAX application with a simple
Example.
3. Create table named SampleRecvTbl with 3 fields (Name, AddressCity,
Email), one Class named SampleAIFRecvClass which have one method setSampleData()

//code

[SysEntryPointAttribute(true)]

public void setSampleData(str name,str addr,str email)
{
sample.Name = name;
sample.AddressCity = addr;
sample.Email = Email;
sample.insert();
}

4. setSampleData() method set field data and insert into table object but it is
called from C# by AIF Web Service through WSDL Port.
5. Create Service from AOT node and select the class created in previous
step in property node, select add operation node, add the method of
class SampleAIFRecvClass and select ok.
6. Create Service Group from AOT node, right click Service Group & select
“New Service Node Reference”, select auto deploy to yes and deploy the
service.
7. Open Company/System administration/Area page/Inbound Ports, select
the created service which is successfully deployed and copy the URI (wait)
8. Open visual studio, create project and select Console Application, once it
opens, open the solution explorer, right click on it & select Add project to AOT.
9.Once project added to AOT, Select Add Service Reference, paste URI and
click Go, give appropriate name so press ok.

10. We can use that service as per requirement, as I am just displaying those
data at console.

Note: Whenever you made modification in AX, deactivate the service, generate CIL
Generation & deploy the service again and in VS, update service reference to avoid errors.
C# code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SampleRecvConsoleApp.SampleAIFRecvServiceRef;
namespace SampleRecvConsoleApp
{
class Program
{
static void Main(string[] args)
{
string name, address, email;
SampleAIFRecvServiceClient client;
CallContext cc;
Console.WriteLine(“Enter name”);
name = Console.ReadLine();
Console.WriteLine(“Enter address”);
address = Console.ReadLine();
Console.WriteLine(“Enter Email”);
email = Console.ReadLine();

try
{
client = new SampleAIFRecvServiceClient();
cc = new CallContext();
cc.Company = “ussi”;
client.setSampleData(cc, name, address, email);
Console.Out.WriteLine(“Data is Migrated to AX”);
Console.ReadLine();
}
catch (Exception e)
{
Console.Out.WriteLine(e.ToString());
Console.ReadLine();
}

}
}
}
You can code it, debug it, run it, see the output and modified it as you want.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: