[ https://issues.apache.org/jira/browse/SYNCOPE-246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13559504#comment-13559504 ]
Christian Schneider commented on SYNCOPE-246: --------------------------------------------- I will check if it is possible to use spring services and cxf services with the same transfer objects. > Remove collection setters in transfer objects for JAXB marshalling > ------------------------------------------------------------------ > > Key: SYNCOPE-246 > URL: https://issues.apache.org/jira/browse/SYNCOPE-246 > Project: Syncope > Issue Type: Sub-task > Components: core > Affects Versions: 1.1.0 > Environment: CXF branch > Reporter: Andrei Shakirin > Assignee: Christian Schneider > Fix For: 1.1.0 > > > XML payload will be marshaled/unmarshaled using JAXB by migration to CXF Rest > frontend. > JAXB works with collections in a little bit different way as Spring Rest > marshaling. > JAXB uses only getter for the list (assumes that list is initialized due > object creation) and adds elements into the list obtained by getter by > unmarshaling. It doesn't need setter at all. > The problem is that actual implementation of transfer objects doesn't work > with JAXB. > If TO provide setter for collection, JAXB gets the list, adds the elements > and additionally calls setter for this list. As far as setter logic cleans > the TO collection, the result collection is always empty. > Solution is remove setters for collections in TOs by migration on CXF Rest. > I find it also better from security and encapsulation aspects. > Regards, > Andrei. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira