Expand my Community achievements bar.

Retrieve specific user tasklist in DSC

Avatar

Former Community Member

Hi everyone,

I developped a Custom Component that is trying to retrieve a list of task (List<TaskRow>) assigned to a specific user (passed as parameter).

I understood that I need to connect to the server with his username and password in order to use the TaskManagerQueryService.taskList() and get his tasks.

My problem is that when I use this code inside my DSC :

Properties connectionProps = new Properties();

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, soapEndpoint);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL, ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, serverType);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, userID);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, userPassword);


ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);

It seems that the connection is done with the default LiveCycle user, like when we use :

ServiceClientFactory myFactory = ServiceClientFactory.createInstance();

Is there a way to force the connection with a specific user inside a DSC Component ?

Kind regards,

Thomas

2 Replies

Avatar

Former Community Member

After some investigational debugging in the server, I found the error.

The DSC was indeed using the correct credentials.

The new problem is that I have this exception :

java.lang.ClassNotFoundException: [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'Class name com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher from package com.adobe.idp.dsc.provider.impl.soap.axis.sdk not found.

Do I need to "import" this class manually in my component ? If yes, how ?

Kind Regards,

Thomas

Avatar

Former Community Member

After all I found a solution, I used EJB instead of SOAP for connection, so my code looks like this

Properties connectionProps = new Properties();

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, ejbEndpoint);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL, ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, serverType);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, userID);

connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, userPassword);


ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);

Hope this helps !

Regards,

Thomas