You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Benson Margulies (JIRA)" <ji...@apache.org> on 2009/11/09 02:51:32 UTC

[jira] Assigned: (CXF-1807) Inconsistent Databinding relationship between ClientProxyBean/ServiceFactory

     [ 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 ClassName@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 (ClientProxyFactoryBean@97), one of the first tasks is to execute applyExtraClass() (ClientFactoryBean@50). I believe this assists in defining an inheritance model for the class tree. This method retrieves the dataBinding from the _serviceFactory_ (ClientFactoryBean@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 (ClientFactoryBean@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() (AbstractWSDLBasedEndpointFactory@78) is invoked, which then associates the original dataBinding defined at the ClientProxyFactoryBean definition with the ServiceFactory (AbstractWSDLBasedEndpointFactory@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.