When you hooked you InfoPath form into the webservice, InfoPath inferred the schema from your webservice.
Two options come to my mind.
1 - Have the webservice return a strongly typed dataset and I believe InfoPath will use the schema defined in the dataset (I am assume you are passing through a dataset from your webservice to InfoPath).
2 - Go to File >> Extract and modify the schema as you mentioned. It is a perfectly fine solution.
The advantage of the first is more from a logical point of view. The webservice could be considered a publisher of the data. Thus it would make most sense that it would define its data rather than having applications like InfoPath infer a schema from it. Plus if the webservice is used in other applications or InfoPath forms, you will only have a single maintenance point (recognizing that you will still have to refresh InfoPath with the webservice if you make changes to the schema defined in the webservice).
Schema management becomes really important when you start jumping into the relm of integrating InfoPath and BizTalk.
Jason
http://www.k2distillery.com/