Yep, XML-RPC function call parameters are sent in a list, where order is important, but no names are assigned, while RTC uses names for all parameters.
To make the communication between RTC Clients and Servers compatible even when using XML-RPC, all parameters will be packed into a <struct>. So, if you simply assign parameters using names in RTC, name information will be preserved and the other side will receive everything in a single <struct>. Using the same analogy, when a non-RTC app wants to call a remote function written with RTC by using names, it will send all parameters in a <struct> (using parameter names).
On the other hand, when you want to call remote functions written by Servers which expect all parameters to be received in an ordered list without names, you will pack the data in an array called "params" (newArray['params']). Elements in RTC arrays start from index 0, so your first parameter has to be at index 0, too. Using the same analogy, when a non-RTC client sends you parameters in a list without names, you will receive it as an array called "params" (asArray['params']), where the first parameter will be at index 0.
A lot of implementations have chosen to use named parameters instead of a parameter list wen sending data over XML-RPC, in which case they are pacing all parameters in a single <struct>, same as RTC. I think there is a Java implementation which does that, too.
PS. I have just posted a short FAQ topic about XML-RPC with RTC SDK, you may be interested in checking it out:
XML-RPC vs. RTC formatBest Regards,
Danijel Tkalcec