3 Replies Latest reply on Apr 22, 2020 2:59 PM by Bala Gopalan

    MDM Cleanse Access to Trillium on Remote Server

    Jay_Hunt New Member

      I'm trying to configure an existing Informatica MDM 10.1 environment to access Trillium Director on a remote server.

       

      The Cleanse Adapter guide says to change TRILLDIRADDR to the address of the remote server: Is the IP Address ? Should it be in quotes?

       

      I copied files from the Trillium Software bin64 library to the cleanse lib. The Cleanse Adapter guide says one of the file names is libTGenClientLibrary.so, which doesn't exist. The closest to this is libtrilTGenClientLibrary.so.

      The other file mentioned is libexerces-c.a, which also doesn't exist.  Closest file names are libxerces-c.so*

      What should these really be?  (We're running Trillium v15).

       

      Does the java keystore on the server running MDM need to be modified to include the certificate for the remote server?

       

      For Windows, another file is mentioned called TGenClient.dll. Is there a corresponding file on LINUX that is needed ?

       

      No matter what I try, I get SIP-11088, SIP-11652 and SIP-11657 error trying to test the Cleanse functions from the MDM Hub.

      This MDM environment was currently using a Trillium environment on the same server, which I shut down.

      I'm trying to access an existing, functioning Trillium Director environment on another server running another MDM environment (which is also functioning).

        • 1. Re: MDM Cleanse Access to Trillium on Remote Server
          danantha New Member

          - quotes are not necessary

          - filenames may be different due to version different

          - if you are using SSL then yes, the certificate from Trillium server must be imported into the JVM's default key store (normally in <JAVA_HOME/jre/lib/security/cacerts

          - For the SIP errors, please try restarting the MDM server, if error still persists , please paste the associated stack trace from cleanse/logs

          • 2. Re: MDM Cleanse Access to Trillium on Remote Server
            Jay_Hunt New Member

            Thanks for your answer, but I'm still missing the following information:

            1. Is TRILLDIRADDR an IP address or a server name?

            2. If certificates need to be added to keystores, should the aliases be IP addresses or server names?

            3. The incorrect file names in the Cleanse Adapter Guide have nothing to do with versions - as an example, there are no objects under any version named libexerces, only libxerces. Also, what about the TGenClient.dll mentioned for Windows - is there a corresponding object in UNIX/LINUX 64-bit environments?

            4. What are the valid values for cmxcleanse.property cmx.server.datalayer.cleanse.execution=LOCAL ? Does it need to change?

             

            Still, with all the things I've tried, I'm getting the following:

             

            [2020-04-05 10:02:57,331] [[ACTIVE] ExecuteThread: '0' for
            queue: 'weblogic.kernel.Default (self-tuning)'] [INFO ]
            com.siperian.mrm.cleanse.trilliumDir11.pool.TDClient: Maximum retry count is
            set to 15

            [2020-04-05 10:03:19,845] [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [WARN ] com.siperian.common.ExternalMsgUtil: Could not find the following error code: SIP-11657

            [2020-04-05 10:03:19,845] [[ACTIVE] ExecuteThread: '0' for
            queue: 'weblogic.kernel.Default (self-tuning)'] [WARN ]
            com.siperian.common.ExternalMsgUtil: Could not find the following error code:
            SIP-11652

            [2020-04-05 10:03:19,846] [[ACTIVE] ExecuteThread: '0' for
            queue: 'weblogic.kernel.Default (self-tuning)'] [ERROR]
            com.siperian.mrm.cleanse.runtime.FunctionEvaluator: Unexpected error in
            cleaning

            1. com.siperian.common.SipRuntimeException: SIP-11652:
              DMAcctNm, H, TD_CLIENT, SIP-11657: DMAcctNm, H, 102, 0

                    DMAcctNm;       H;    
            TD_CLIENT;      SIP-11657: DMAcctNm,
            H, 102, 0;

                    at
            com.siperian.common.SipRuntimeException.create(SipRuntimeException.java:64)

                    at
            com.siperian.mrm.cleanse.trilliumDir11.TDTransactionFunction.cleanse(TDTransactionFunction.java:76)

                    at
            com.siperian.mrm.cleanse.runtime.JavaEvaluator.evaluate(JavaEvaluator.java:61)

                    at
            com.siperian.mrm.cleanse.runtime.FunctionEvaluator.evaluate(FunctionEvaluator.java:57)

                    at
            com.delos.cmx.server.interact.InteractCleanseImpl.testCleanse(InteractCleanseImpl.java:324)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doTestCleanse(CleanseServlet.java:704)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doPostInternal(CleanseServlet.java:499)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doPost(CleanseServlet.java:431)

                    at
            javax.servlet.http.HttpServlet.service(HttpServlet.java:751)

                    at
            javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

                    at
            weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

                    at
            weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

                    at
            weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

                    at
            weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)

                    at
            weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)

                    at
            weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3432)

                    at
            weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)

                    at
            weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

                    at
            weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

                    at
            weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

                    at
            weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)

                    at
            weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)

                    at
            weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)

                    at
            weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)

                    at
            weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)

                    at
            weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)

                    at
            weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

            Caused by: com.siperian.common.SipRuntimeException:
            SIP-11657: DMAcctNm, H, 102, 0

                    DMAcctNm;       H;    
            102;    0;

                    at
            com.siperian.common.SipRuntimeException.create(SipRuntimeException.java:64)

                    at
            com.siperian.mrm.cleanse.trilliumDir11.pool.TDClient.connect(TDClient.java:120)

                    at
            com.siperian.mrm.cleanse.trilliumDir11.pool.TDClientPool$TDClientPoolFactory.makeObject(TDClientPool.java:135)

                    at
            org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840)

                    at
            com.siperian.mrm.cleanse.trilliumDir11.pool.TDClientPool.borrowTDClient(TDClientPool.java:94)

                    at
            com.siperian.mrm.cleanse.trilliumDir11.TDTransactionFunction.cleanse(TDTransactionFunction.java:72)

                    ... 25 more

            [2020-04-05 10:03:19,849] [[ACTIVE] ExecuteThread: '0' for
            queue: 'weblogic.kernel.Default (self-tuning)'] [ERROR]
            com.delos.cmx.server.interact.InteractCleanseImpl: Failure executing cleanse.

            1. com.siperian.mrm.cleanse.api.CleanseException: SIP-11088: An
              error occurred while cleansing. See the application server log for details.

                  
            {account1=Robert Wood Johnson University Hospital}

                    at
            com.siperian.mrm.cleanse.runtime.FunctionEvaluator.evaluate(FunctionEvaluator.java:87)

                    at com.delos.cmx.server.interact.InteractCleanseImpl.testCleanse(InteractCleanseImpl.java:324)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doTestCleanse(CleanseServlet.java:704)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doPostInternal(CleanseServlet.java:499)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doPost(CleanseServlet.java:431)

                    at
            javax.servlet.http.HttpServlet.service(HttpServlet.java:751)

                    at
            javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

                    at
            weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

                    at
            weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

                    at
            weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

                    at
            weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)

                    at
            weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)

                    at
            weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3432)

                    at
            weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)

                    at
            weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

                    at
            weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

                    at
            weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

                    at
            weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)

                    at
            weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)

                    at
            weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)

                    at
            weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)

                    at

            weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)

                    at
            weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)

                    at
            weblogic.work.ExecuteThread.run(ExecuteThread.java:263)

            [2020-04-05 10:03:19,850] [[ACTIVE] ExecuteThread: '0' for
            queue: 'weblogic.kernel.Default (self-tuning)'] [ERROR]
            com.delos.cmx.server.interact.CleanseServlet: SIP-11088: An error occurred
            while cleansing. See the application server log for details.

                  
            {account1=Robert Wood Johnson University Hospital}

                    at
            com.siperian.mrm.cleanse.runtime.FunctionEvaluator.evaluate(FunctionEvaluator.java:87)

                    at
            com.delos.cmx.server.interact.InteractCleanseImpl.testCleanse(InteractCleanseImpl.java:324)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doTestCleanse(CleanseServlet.java:704)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doPostInternal(CleanseServlet.java:499)

                    at
            com.delos.cmx.server.interact.CleanseServlet.doPost(CleanseServlet.java:431)

                    at
            javax.servlet.http.HttpServlet.service(HttpServlet.java:751)

                    at
            javax.servlet.http.HttpServlet.service(HttpServlet.java:844)

                    at
            weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)

                    at
            weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)

                    at
            weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)

                    at
            weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)

                    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)

                    at
            weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3432)

                    at
            weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)

                    at
            weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

                    at
            weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

                    at
            weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)

                    at
            weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)

                    at
            weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)

                    at
            weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)

                    at
            weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)

                    at
            weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)

                    at
            weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)

                    at
            weblogic.work.ExecuteThread.run(ExecuteThread

            • 3. Re: MDM Cleanse Access to Trillium on Remote Server
              Bala Gopalan Active Member

              Below properties to be set in Weblogic startup script.

              TRILLDIRADDR=<HOSTNAME>

              TRILLDIRPORT=<Trillium server port>

               

              If the remote Trillium server accepts SSL based connection then certs need to be imported with the alias name that was configured on Trillium server certificate. If it is by hostname then use the same.

               

              cmx.server.datalayer.cleanse.execution=LOCAL - no need to change this.

               

              only .so files needed for Linux and LD_LIBRARY_PATH needs to be set.