According to this answer when using WCF a List(Of T) is converted into an array on the clientside, which is why the DoWork method wants an array instead of a List(Of Integer) as you've specified. This behaviour can apparently be modified though.

Email codedump link for Why value of type list(of integer) cannot be converted to integer ?why i am not able to send list value to wcf service?please Solve this