Inconsistent Databinding relationship between ClientProxyBean/ServiceFactory
----------------------------------------------------------------------------
Key: CXF-1807
URL: https://issues.apache.org/jira/browse/CXF-1807
Project: CXF
Issue Type: Bug
Components: Simple Frontend
Affects Versions: 2.1.2, 2.1.1
Reporter: Bryan Stopp
When creating a ClientProxyFactoryBean through the use of the spring defintion
<simple:client> the data-binding definition is not passed on to all appropriate
associated objects in the correct order. (NOTE: All line numbers references are
based on v2.1.2 of the source code. Notation is [EMAIL PROTECTED])
The ClientProxyFactoryBean sets it's dataBinding onto the ClientFactoryBean
@line 94. This associates the dataBinding with the ClientFactoryBean (attribute
dataBinding on parent AbstractEndpointFactory).
However a request is made to execute the create() method on ClientFactoryBean
([EMAIL PROTECTED]), one of the first tasks is to execute applyExtraClass()
([EMAIL PROTECTED]). I believe this assists in defining an inheritance model
for the class tree. This method retrieves the dataBinding from the
_serviceFactory_ ([EMAIL PROTECTED]) and then proceeds to apply the extra
classes as per the property.
However, at this time the ServiceFactory (attribute serviceFactory on parent
AbstractWSDLBasedEndpointFactory) has not been initialized. This doesn't occur
the method createEndPoint() is invoked ([EMAIL PROTECTED]). It isn't until the
createEndPoint() method is invoke that a check is made against the
ServiceFactory to determine it's state.
Once it's identified that the service hasn't been initialized,
initializeServiceFactory() ([EMAIL PROTECTED]) is invoked, which then
associates the original dataBinding defined at the ClientProxyFactoryBean
definition with the ServiceFactory ([EMAIL PROTECTED]).
However, by this time, an invalid (ie: the default) dataBinding definition was
used to define the additional classes for the inheritance model.
What brought this to my attention was: i was trying to utilize the
AegisDataBinding to map my class tree, however it wasn't being configured
correctly.
-B
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.