You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Steve Loughran <st...@iseran.com> on 2001/01/10 21:00:06 UTC

Proposal: SOAP service import task

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