Plug JAX-WS / MDQ deployment into Axis2 deployment model
--------------------------------------------------------

                 Key: AXIS2-3223
                 URL: https://issues.apache.org/jira/browse/AXIS2-3223
             Project: Axis 2.0 (Axis2)
          Issue Type: Improvement
          Components: jaxws
            Reporter: Jeff Barrett
            Assignee: Roy A. Wood Jr.


Currently the metadata processing for JAXWS (i.e. the creation of the metadata 
description hierachy based on annotations and WSDL) is not integrated into the 
Axis2 deployment model.  The JAXWS unit tests are using a deprecated factory 
method which builds the desription hierarchy when an inbound request for a 
service is received.  The deprecated method 
DescriptionFactory.createServiceDescriptionFromServiceImpl(implClass, axisSvc) 
is called from EndpointController.getEndpointDescription.  This deprecated 
method causes obsolete code paths to be executed and does not go down code 
paths that are used for actual server integration.

Actual server integration (for example in Geronimo) plugs the JAXWS metadata 
processing into the server's deployment logic.  This is done by creating 
DescriptionBuilderComposite objects and using those DBCs to create the 
JAXWS/Metadata description hierarchy.  The processes of creating the JAXWS 
descrition hierachy also creates the Axis2 description hierachy (e.g. 
AxisService and such) based on annotations (and/or WSDL).

I think the following needs to be done:
1. Add a plug point in the Axis2 deployment logic that allows plugging in to 
the deployment logic, or perhaps overridding it completely
2. In the JAXWS integration-level tests (which require a running server), the 
plugpoint or override would create the JAXWS and associated Axis2 description 
hierachy  during application deployment.  
3. The logic in EndpointController.getEndpointDescription should change to 
consider not finding the JAXWS description hierachy an error and reject the 
inbound request.  The deprecated method 
DescriptionFactory.createServiceDescriptionFromServiceImpl(implClass, axisSvc)  
should be removed.
4. Note that there is a convenience method 
DescriptionFactory.createServiceDescription(Class) that will take an 
implementation class and create the DBCs using relfection which may be helpful.

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


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

Reply via email to