[ 
https://issues.apache.org/jira/browse/CXF-1807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benson Margulies reassigned CXF-1807:
-------------------------------------

    Assignee: Benson Margulies

> 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.1, 2.1.2
>            Reporter: Bryan Stopp
>            Assignee: Benson Margulies
>
> 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 classn...@line)
> 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 
> (clientproxyfactoryb...@97), one of the first tasks is to execute 
> applyExtraClass() (clientfactoryb...@50). I believe this assists in defining 
> an inheritance model for the class tree. This method retrieves the 
> dataBinding from the _serviceFactory_ (clientfactoryb...@78) 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 (clientfactoryb...@52). 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() (abstractwsdlbasedendpointfact...@78) is invoked, 
> which then associates the original dataBinding defined at the 
> ClientProxyFactoryBean definition with the ServiceFactory 
> (abstractwsdlbasedendpointfact...@150).
> 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