Debugging Aif services in ax 2012

Hi I’m Karthik,

Is there any way to hit the break point which is in aif services classes without creating job for that specific class???

Please Help me…

Of course. You just have to be aware of that AIF services run in CIL, not in X++, therefore you have to use the Visual Studio debugger and attach VS to the AOS process.

Please get used to checking the documentation - you’ll find answers to many questions of yours. This one is covered by Debugging in Microsoft Dynamics AX 2012.

yes Mr.Martin, I’ve known about “Attach to Process Concept in Vs Debugger”, but I saw another solution for this that is “File exchange through file adapter using batch process”. In that one… I saw some code like for enable the debugging… but that method accepts no param…

I dont why…

Thanks for the Reply Mr.Martin.

Sorry, I was talking about web services. AifInboundProcessingService is used by adapter-based communication and it’s normally executed in batch, but you surely can execute it in a job if you want. It doesn’t take any parameters, because it tries process all inbound message in the queue.

Its K Marthin… Thank you.

If anyone knows about batch processing for debugging service classes … please let me know :slight_smile:

Thank you :slight_smile:

What do you want to know? It’s the same as with all other classes. If you’re unsure how to debug batches, refer again to Debugging in Microsoft Dynamics AX 2012. Nevertheless I thought you wanted to run the class from a job, not in batch.

Or maybe you don’t know how to add something to the queue for processing… It’s hard to guess what you need; it would be much more efficient if you explained it to us.

HI I’m following this Walkthrough: Exchanging documents by using the file system adapter [AX 2012] to creating sales order by passing xml document in the inbound port and getting the xsd schema from the outbound port… I’m running a small job for this to the xsd schema…Top 5 AIF Development Tips and Tricks | Greg On Dynamics Ax

static void runAIFReceive(Args _args)
AifGatewayReceiveService aifGatewayReceiveService;
AifInboundProcessingService aifInboundProcessingService;

aifGatewayReceiveService = ``new AifGatewayReceiveService();;
aifInboundProcessingService = ``new AifInboundProcessingService();
aifInboundProcessingService.**run(**true**)**; ``// pass true for debug mode

You can see the code "``true**)**" in the previous job to enable the debugging they give true as the param to this run method.. but this method never takes argument..
but without giving true its working fine to get the xsd schema in the outbound port… in AX 2012 doesn’t support any parameters. I can’t comment the blog post (you should ask its author), maybe there was such a parameter in an old version of AX.