A quick fix
In reviewing the AIF Service generation classes between RTM CU5 + Feature Pack and R3, I found a small difference in the AifServiceDataTypeGenerator class.
Specifically the method highlighted in the image above, the generateDataContractClass. Previously, we had been able to deploy AIF ports that used Data Contract Classes which extend SysOperationDataContractBase. In AX 2012 R3, this was broken - for details see my previous post.
On line 70, R3 removed a conditional statement. I added this back in:
//TO DO -- see if this works for R3, copying from AX 2012 RTM CU5 + FeaturePack
// If this is an operation parameter, then we save the name so that derived classes can be generated later
After putting this in place, I was able to deploy our AIF ports which had been breaking.
I have submitted this potential fix to Microsoft, but am asking their Premier team to vet this for appropriateness. The conditional was likely removed for a reason, time will tell. I'll update this post when the fix is approved!