WSDL generation should be in the builder, not the provider
----------------------------------------------------------

                 Key: TUSCANY-2446
                 URL: https://issues.apache.org/jira/browse/TUSCANY-2446
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Axis Binding Extension
    Affects Versions: Java-SCA-1.3
         Environment: All
            Reporter: Simon Nash
            Assignee: Simon Nash
             Fix For: Java-SCA-1.3


WSDL generation is currently performed by the Axis2 binding provider 
constructors.  It should be moved to the builder, except for code that needs 
information that is only available at runtime.  (This is maybe 2% of the total 
code.)  Moving the code to the builder has the following benefits:
 1. The monitor is available in the builder, so errors and warnings can be 
reported without throwing fatal runtime exceptions, and runtime initialization 
can be prevented when the user input has errors.
 2. At least 98% of this code is not provider-specific, so moving it to the 
builder allows it to be shared by different Web Service bindings if additional 
such bindings are added in the future.

There are some scenarios that require WSDL generation to be performed at 
runtime, so this code needs to be callable by the runtime in these cases.  At 
present these cases are:
 a. The binding-sca-axis2 providers create a Web Service binding model 
dynamically at runtime.  This needs WSDL to be generated.  Unlike WSDL 
generation for binding.ws, WSDL generation for binding.sca can't be done in the 
bulder because the model doesn't always know whether targets are local (not 
needing WSDL) or remote (needing WSDL).  This could change in the future.
 b. CallableReferenceImpl dynamically creates a component reference when 
deserializing a CallableReference.  If this has a Web Service or SCA binding, 
it needs WSDL to be generated.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to