Thank you for your quick reply!
I found it is a good way to continue, but the problem is what kind of data, say collection or array, could fit into a repeating table? I used list<string> or string[] as the return type of the web method, but neither of them could result in a repeating group in InfoPath. Any idea?