Il giorno 10/dic/2012, alle ore 19.05, Christian Schneider ha scritto:
> Hi all,
>
> I wanted to report about my progress of trying the CXF libraries (2.7.0)
> in syncope. The idea is to test if we can have the cxf libs and spring
> webservices at the same time. If this works we can do the migration to
> cxf in several steps. If it does not work we have to do all in one go.
>
> I added the cxf libraries below to syncope-core. At first I had a lot of
> test failures until Jan hinted that the cxf libraries probably collide
> with the libs of the soap connector.
> So I removed the cxf libs from the lib directory of the soap connector.
>
> After this change I had all tests except for
> org.apache.syncope.core.rest.TaskTestITCase.sync() working. Does anyone
> know what this test does exactly. I already understood that it uses a
> csv table and a user template to kind of postprocess users. As it fails
> after adding the cxf deps I assume it also does a webservice call. Can
> someone give me a hint where to dig?
Hi Christian, following the steps performed by the TaskTestITCase.sync() test.
1. create a user
2. read the csv synchronization task (id: 4)
3. change it adding an action aclass and a user template. In particular, the
latter add a database resource and the role '8' to the synced user.
Since the role 8 has a SOAP resource assigned, the synchronized/updated
user will be propagated via the SOAP connector to ws-targetre-source-2.
4. execute the task
5. check for executions and updated user attributes and memberships.
I think that the point three is what you should be interested in more.
> So assumed I get this last test working the problem with the soap
> connector still remains. The way I simply removed the libs is of course
> just a test to see if it works. We still have to find a proper solution
> for this.
> One possibility is to update the soap connector to the current cxf
> version. This will probably work until we upgrade the cxf version again.
> Another possibility would be to remove the libs from the connector and
> rely on people adding the libs in another way. As far as I understood
> the idea of the connectors is that they simply work without additional
> libs so I am not sure if this is an option. I also do not yet understand
> how the classloading in the connectors works. Can someone explain this?
From my PPOV we cannot remove CXF libs from the SOAP connector: we cannot
consider this library as a JDBC driver for database table connector.
I suggest to update the connId dependency and to open a new issue on syncope
related to this upgrading problem.
Best regards,
F.
> Best regards
>
> Christian
>
> ----
>
> <dependency>
> <groupId>javax.ws.rs</groupId>
> <artifactId>javax.ws.rs-api</artifactId>
> </dependency>
>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-api</artifactId>
> <version>${cxf.version}</version>
> </dependency>
>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxrs</artifactId>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-rs-extension-providers</artifactId>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-rs-extension-search</artifactId>
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxws</artifactId>
> </dependency>
>
> <dependency>
> <groupId>org.codehaus.jettison</groupId>
> <artifactId>jettison</artifactId>
> <version>1.3.2</version>
> </dependency>