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.

Reply via email to