I've been spending quite a bit of time over the Christmas period and since then trying to get BDC Meta Man able to parse web service methods and generate the necessary application definition files for the Business Data Catalog in MOSS 2007. We've got it working now, but there are a few limitations with how methods should work, and what methods you'll need. I'm not saying you won't be able to write application definition files for web services that work other than this way and return more complex data structures, but if you want to be able to generate your app def files with version 1.0 of our tool there are a few things to bear in mind.
1, We're only supporting first generation web services, ie no Windows Communications Foundation type web services.
2, Only return simple variable types, ie ints, strings etc, not data sets. That's a general guideline for web services in general though.
3, Any field you want to be searchable you should return as a string. It's fine to return Ids as strings.
4, Create web service that return arrays of objects that only go one level deep
ie an array of customer objects is fine, but an array of customer objects, where each customer has an array of address, the address array will not get implemented in the app def file.
5, Each entity eg customer, that you want to represent will need a web method that implements at least a finder type method. If you want your web service entity to be crawled and returned in search results you'll need web methods that implement a specific finder, and a IdEnumerator method.
6, The IdEnumerator must return the Ids of the objects you want crawling as a list of strings.
The first version of BDC Meta Man pro version will not be supporting associations between entities (although this does work for SQL Server entities). We'll be working on this for the next release though so don't worry.
I'm in the process of writing a post explaining how to go from a SQL Server database to writing the webservices and getting them imported and used in the BDC. Again remember you can import more complex web services into the BDC, but our tool will only work with the above guidelines for first release. We'll be constantly improving it though, so expect things to keep updating.
Finally I must say that the experience of creating an app def file for web services isn't as automated as for databases with our tool. That's because from a wsdl file there's no way of know which value of an object is the primary key, what type of filter descriptors a parameter is etc. Believe me it's a lot better than cracking open notepad.exe to write the app def files, but you will have to do a little more work.
A good example of a web service you can use BDC Meta Man with is the one that came as a code sample in the Beta2tr SDK. You can download it from here. It's the OSSSDKSamples.exe file. Once installed it'll put the sample webservice in the following directory
C:\2007 Office System Developer Resources\SharePoint Server 2007 SDK\Code Samples\Beta 2 TR SDK Samples\SampleWebService
Once you've created it as an asp.net 2.0 app in IIS and browse to the wsdl file you'll see the the following methods that we can use to create and import into the BDC with BDC Meta Man
GetCustomers - Finder Method
GetCustomerByID - Specific Finder Method
GetCustomerIDs - IdEnumerator Method
Anyway that's all for now. This post was only meant as a quick guide while you're waiting for us to get BDC Meta Man out there.