I found the solution myself. I have to put a repeating table on the form and bind it to a form field. With the web service data source to pull data, I add some code behind to the form load event to set value of the field (which is bound to repeating table) with the data I pulled from web service data source. The code is pretty simple and you can find a lot of threads demonstrating that.
In my case, it was a sharepoint site which I wanted to deploy the form to. There are difficulties to deploy an infopath form with code behind to a sharepoint site. "Nader" has a really useful post with an step by step procedure for doing this: http://nader.elshehabi.com/2011/08/how-to-really-deploy-infopath-2010-forms-with-code-behind-as-a-feature/