hi Glen,

Seems like a good proposal. However if you can populate your service
correctly with the schemas,  message  and soap actions then  at the run
time when you do ?wsdl we do the right thing. And even you do not need
to worry about ?wsdl and ?wsdl2 , that's the procedure we are using for
POJO. There we first naviagete the POJO class and then generate schemas
and populate AxisService with operations and messages. So when we do
?wsld we just serialize that and print out the wsdl.

Thanks
Deepal

Glen Daniels wrote:
> [Resending with correct prefix. Please reply on THIS thread]
>
> Hi folks!
>
> So I've got a custom deployer which wants to be able to generate its own
> WSDL (via "?wsdl") for the artifacts it deploys.  Unfortunately there's
> no really good way that I've found in the Axis2 architecture to do
> that. :(
>
> In Axis1, WSDL generation was the responsibility of the "Provider", so
> if you had a different backend (script, etc), you'd have a different
> Provider which would know to generate WSDL in a different way.  In
> Axis2, WSDL generation seems to happen via AxisService.printWSDL().
> This either ends up expecting a Definition object (from WSDL4J) to be
> sitting in the "wsdl4jDefinition" parameter of the AxisService (if
> useOriginalWSDL is set), or it calls out to the WSDLDataLocator to
> generate the WSDL with the AxisService2WSDL* classes.
>
> Neither of these cases was right for what I need to do, since I can't
> pre-create the WSDL and leave it in the parameter, and there's no way to
> plug in a new WSDL generator so that I could customize the output of
> WSDLDataLocator.
>
> So I've introduced a small interface called WSDLSupplier:
>
> public interface WSDLSupplier {
>     Definition getWSDL(AxisService service) throws AxisFault;
> }
>
> I added a check in printWSDL() to see if there was a WSDLSupplier
> sitting in the "WSDLSupplier" parameter of the AxisService.  If so, it
> attempts to call the WSDLSupplier to obtain the Definition object from
> there dynamically.  It then runs that WSDL through the usual
> printDefinitionObject() API.  This allows my custom service to plug in
> and generate its own WSDL.
>
> I just wanted to give y'all a heads-up before I checked this into the
> tree, as it's a slight API change (but only an addition) for 1.3.
>
> Is there a better way to do this?
>
> --Glen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to