Thank you very much, both ways finally work fine if I use them early enough.

By both ways I mean with System.setProperty and with registerControl.

Regards,
Raphaël Ouazana.

On Thu, 14 Jun 2012 14:41:54 +0200, Pierre-Arnaud Marcelot wrote:
Small mistake in the previous code.

This should work much better (variable naming was not consistent):
LdapApiService ldapApiService = LdapApiServiceFactory.getSingleton();

ControlFactory<?, ?> factory = new SyncStateValueFactory( ldapApiService );
ldapApiService.registerControl( factory );

Regards,
Pierre-Arnaud

On 14 juin 2012, at 14:36, Pierre-Arnaud Marcelot wrote:

Hi Raphaël,

I'm not sure it will work but you could try to configure the LDAP API service with the following code:
LdapApiService ldapApiService = LdapApiServiceFactory.getSingleton();

ControlFactory<?, ?> factory = new SyncStateValueFactory( codec );
codec.registerControl( factory );


You need to insert that before sending or receiving any data.
It should make the LDAP API Service aware of the SyncStateValueControl and allow to create the correct instances of it.

Let us know if it succeeds (or not).

Regards,
Pierre-Arnaud

On 14 juin 2012, at 14:02, Raphaël Ouazana-Sustowski wrote:

Hi,

I'm using ApacheDS API to implement a SyncRepl client.
When I receive a Response, I get a BasicControlDecorator which decorates an OpaqueControl, instead of a SyncStateValueControl.

Reading code, it seems I should load ExtrasBundleActivator, but I don't know how I can do that.
Else I tried:

System.setProperty(
        StandaloneLdapApiService.DEFAULT_CONTROLS_LIST,

        
"org.apache.directory.shared.ldap.extras.controls.syncrepl_impl.SyncStateValueFactory"
        );

Which has been indicated here: http://mail-archives.apache.org/mod_mbox/directory-api/201106.mbox/%3CBANLkTikTTQLfM4eFxtATnzh%2BYFPPXoNQUA%40mail.gmail.com%3E

But this does not seem to work.

How can I get a correctly parsed response control?

Regards,
Raphaël Ouazana.


Reply via email to