Friday, April 20, 2007
I've been doing some work recently with custom SharePoint web services, which is working out very nicely for the most part. However, because SharePoint virtualizes its URLs you cannot have ASP.NET auto-generate the disco and wsdl files, and the steps to manually create them are tedious at best. I had a quick look around to see if there were any tools to automate this and found the WSS Web Service DISCO and WSDL Generator Helper on Code Project.
Since it originally targeted .NET 1.1 and SharePoint 2003, I've update it to .NET 2.0 and added a little more error checking for good measure. Internally, disco.exe is used to generate the disco and wsdl files, so the .NET 2.0 version will need to be in the same directory as the executable. You'll find a copy in 'C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin' or somewhere similar on your development machine.
This is a quick fix to my immediate problem, longer term I may (or may not) create a version to use in Visual Studio builds. I'm not sure what the rules are around the stuff on Code Project, but for now you can download my updates from the links at the bottom of this post. I'll drop the original poster a message and merge my changes if necessary.
WebServicePackager.zip
WebServicePackagerSource.zip