[DFC_BOF_WRONG_IDENTITY] LoginInfo and Principal for docbase

Options
THFX
edited June 16, 2010 in Documentum #1

Hi,

We have D5 SP2 , MSSql Server 2000 and webserver as Tomcat. There is only one Docbase and Docbrocker. I create Job to automatically run workflow. Job will create workflow using WorkflowBuilder, and then create form which add to the package

I run job , i got error message

DfIdentityException:: THREAD: http-9080-Processor25; MSG: [DFC_BOF_WRONG_IDENTITY] LoginInfo and Principal for "BAFS01" docbase are not defined or wrong.; ERRORCODE: 1906; NEXT: null
    at com.documentum.fc.client.DfSessionManager.createSessionHelper(DfSessionManager.java:634)
    at com.documentum.fc.client.DfSessionManager.getSession(DfSessionManager.java:531)
    at com.documentum.fc.client.DfSessionManager.getSession(DfSessionManager.java:334)
    at com.documentum.fc.client.DfService.getSession(DfService.java:99)
    at com.documentum.xforms.docbase.DctmFormService.createInstance(Unknown Source)
    at com.job.Job_MailExpireLegalDocNotification.execute(Job_MailExpireLegalDocNotification.java:299)
    at com.documentum.mthdservlet.DmMethodRunner.runIt(Unknown Source)
    at com.documentum.mthdservlet.AMethodRunner.runAndReturnStatus(Unknown Source)
    at com.documentum.mthdservlet.DoMethod.invokeMethod(Unknown Source)
    at com.documentum.mthdservlet.DoMethod.doPost(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)

here is my code

                         IDfWorkflowBuilder workflowBuilder = session.newWorkflowBuilder(new DfId(workflowId));
                        IDfId newWorkflowId = workflowBuilder.initWorkflow();
                       
                        IDfUser objuser = (IDfUser)session.getObject(new DfId(supervisor));
                        //workflowBuilder.getWorkflow().updateSupervisorName(objuser.getUserName());
                        IDfId runId = workflowBuilder.runWorkflow();
                       
                       
                        IDfList startActNames = workflowBuilder.getStartActivityNames();
                        String actName = (String)startActNames.get(0);
                       
                       
                        IDfList startActId = workflowBuilder.getStartActivityIds();
                        IDfId stActId = (IDfId)startActId.get(0);
                       
                        IDfActivity stactivity = (IDfActivity)session.getObject(stActId);
                        int count = stactivity.getPortCount();
                       
                        String inputPortName = "";
                        for(int i=0;i<count;i++){
                            if(stactivity.getPortType(i).equals("INPUT")){
                                inputPortName = stactivity.getPortName(i);
                            }
                           
                        }
                       
                        IDfClient client = DfClient.getLocalClient();
                        IDctmFormService formService = (IDctmFormService)client.newService((com.documentum.xforms.docbase.IDctmFormService.class).getName(), session.getSessionManager());
                       
                        templateId = session.getIdByQualification("dm_xfm_form where definition_state = 2 and object_name = '"+formTemplateName+"'");
                        IDfId formId = formService.createInstance(templateId,outputFormName,outputFolderName,session.getDocbaseName());
                       
                        DfList list = new DfList();
                        list.append(formId);
                       
                        IDfSysObject o = (IDfSysObject)session.getObjectByQualification("dm_xfm_schema WHERE FOLDER('"+formTemplateFolder+"')");
                        IDfId packageId = workflowBuilder.addPackage(actName,inputPortName,"LegalExpire",o.getString("storage_type"),"",false,list);

And here is method to create SessionManager

protected static IDfSessionManager login(String username, String password, String docbase) throws DfException
    {
        // now login
        IDfClient dfClient = DfClient.getLocalClient();
       
        if (dfClient != null)
        {
            IDfLoginInfo li = new DfLoginInfo();
            li.setUser(username);
            li.setPassword(password);
            li.setDomain(null);
           
            IDfSessionManager sessionMgr = dfClient.newSessionManager();
            sessionMgr.setIdentity(docbase, li);
            return sessionMgr;
        }
       
        return null;
    }

Please help me to solve this problem?

Comments

  • DesignStudio
    edited June 16, 2010 #2
    Options

    Hi THFX,

    I am facing the same problem, how did you solve it? I really appreciate your help.

    Tarak