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.