Please refer the example given below: In the service definition, alias is a list of string. [ExternalDataExchange] internal interface IVotingService { event EventHandler ApproveProposal; event EventHandler RejectProposal; void CreateBallot(List alias); } For a complete example, download the hands-on lab from the link: http://www.microsoft.com/downloads/thankyou.aspx?familyId=2e575633-e357-4ee7-aaff-34138f00e830&displayLang=en Use lab5, exercise 1 and change the IVotingService void CreateBallot(string alias); to void CreateBallot(List alias); You must change all the references to CreateBallot to make it work.