I've reached the stage in C# coding where I need to import SDL descriptions from a SOAP service and generate the C# proxy code, and I would like to automate this in ant.
I could (and will) do this by wrapping up the .Net SDK WebServiceUtil app which can take code from a URL or file and create C#, C++ or VB proxies. But assuming that Java will acquire the same functionality, and that the reference implementation will be something derived from Apache Axis work, then it would be better to come up with a task which will ultimately support that form of service import, and indeed have that as the default. So what I want to do is at least have a basic task definition and framework which can be extended to support java/axis service importation (or anyone else's) Package: ant.taskdefs.optional.soap Task name:SoapServiceImport Params sourceFile (file reference) sourceURL (URL to hit against). create = proxy (default) | server descriptionType= "SDL" | "WSDL" (default) language= java | C# | VB | JS | C++ (default=java) runtime= "axis" | "dotnet" | whatever (default=axis) protocol= soap | get | post destdir = directory for output generator = classname of a generator class (very optional) extraoptions = string of any extra options failonerror = boolean failure action flag xsd: fileset of XSD schemas As when needed, the soap package could be extended with whatever else people want - SoapCall and some discovery stuff would seem appropriate. Implementation wise, each runtime/language combination needs a generator. I'd imagine some interface SoapServiceImporter and a structure containing all parameters which would be passed to that class. And some kind of properties mechanism to state what generator to use (perhaps the .net and axis ones would be hard coded in, the generator classname would let you specify others) I'll code the core task and the .net version of the generator up over the next week or two, testing being the hard part of the process. If anyone is working with apache Axis or another java based soap service framework, then this is the ideal time for feedback. I don't need to know what framework you are using, just what would be appropriate in the parameters to meet your current/future needs. -steve
