3 Replies Latest reply on Apr 21, 2015 7:44 AM by Maciej Swiderski

    KIE-Workbench + Tomcat + LDAP Authentication

    Feroze Durani SK Newbie

      Hi Guys,

      I have been working with JBPM6.1.0 with Tomcat7 & Oracle databasee. I am using KIE Workbench–Tomcat7. I could successfully configure it and could start the kie-workbench using the users & roles provided in the tomcat-users.xml file of a Tomcat server. I want to use LDAP authentication for KIE workbench which actually running on Tomcat server.

      I could find out the posts related to JBoss server + LDAP setup and could not find anything related to KIE-WB + Tomcat7 + LDAP. It would be very helpful If you could help me out in configuration stuff.............

      Thanks In Advance,
      Feroze

        • 1. Re: KIE-Workbench + Tomcat + LDAP Authentication
          Maciej Swiderski Master

          you need to upgrade to 6.2.0.Final for that to work smoothly. Here you can find complete installation instructions about jBPM (kie-wb) on tomcat. Then simply follow Tomcat User Guide on how to configure LDAP and you are done.

           

          HTH

          1 of 1 people found this helpful
          • 2. Re: KIE-Workbench + Tomcat + LDAP Authentication
            Feroze Durani SK Newbie

            Thank you Maciej for the information.

             

            I could successfully install kie-wb-6.2.0 on tomcat7. But I came across the below queries while playing with Evaluation example in KIE-Workbench.

             

            1. Could not RE-deploy the project

             

                 I could see from release notes of JBPM6.2, the property -Dorg.kie.override.deploy.enabled is defaulted to false. (in the post: Accelerate your business: marzec 2015)

             

            • in 6.1 redeploy of same version (regardless if that was concrete version or snapshot) was by default allowed, in 6.2 concrete versions must be explicitly undeployed before they can be redeployed. This can be overridden by system property which will allow redeploy for all versions: -Dorg.kie.override.deploy.enabled=true


                 Due to the above reason, I couldn't redeploy the project after the changes. Could you please let me know where can I change this configuration in kie-wb-6.2.0-Final-tomcat7.war

             

            2. Facing below Warning on server start up. Though, I could login to Kie-wb but could not make JTA transactions.

             

            WARNING: Participating in existing JTA transaction, but no JTA TransactionManager or TransactionSychronizationRegistry available:

            java.lang.NullPointerException

              at org.drools.persistence.jta.JtaTransactionManager.registerTransactionSynchronization(JtaTransactionManager.java:282)

              at org.drools.persistence.TransactionManagerHelper.registerTransactionSyncInContainer(TransactionManagerHelper.java:16)

              at org.drools.persistence.jta.TransactionLockInterceptor.release(TransactionLockInterceptor.java:90)

              at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:83)

              at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:358)

              at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.getIdentifier(CommandBasedStatefulKnowledgeSession.java:114)

              at org.jbpm.runtime.manager.impl.SingletonRuntimeManager.init(SingletonRuntimeManager.java:99)

              at org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl.newSingletonRuntimeManager(RuntimeManagerFactoryImpl.java:64)

              at org.jbpm.services.cdi.impl.manager.RuntimeManagerFactoryCDIImpl$Proxy$_$$_WeldClientProxy.newSingletonRuntimeManager(RuntimeManagerFactoryCDIImpl$Proxy$_$$_WeldClientProxy.java)

              at org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:133)

              at org.jbpm.kie.services.impl.KModuleDeploymentService.deploy(KModuleDeploymentService.java:152)

              at org.jbpm.services.cdi.impl.DeploymentServiceCDIImpl$Proxy$_$$_WeldClientProxy.deploy(DeploymentServiceCDIImpl$Proxy$_$$_WeldClientProxy.java)

              at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl.initDeployments(DeploymentManagerEntryPointImpl.java:113)

              at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl$Proxy$_$$_WeldClientProxy.initDeployments(DeploymentManagerEntryPointImpl$Proxy$_$$_WeldClientProxy.java)

              at org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl.bootstrapDeployments(AdministrationServiceImpl.java:191)

              at org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl$Proxy$_$$_WeldClientProxy.bootstrapDeployments(AdministrationServiceImpl$Proxy$_$$_WeldClientProxy.java)

              at org.kie.workbench.backend.AppSetup.assertPlayground(AppSetup.java:179)

              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:597)

              at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)

              at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

              at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)

              at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)

              at org.jboss.weld.introspector.jlr.WeldMethodImpl.invoke(WeldMethodImpl.java:168)

              at org.jboss.weld.bean.AbstractClassBean.defaultPostConstruct(AbstractClassBean.java:403)

              at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.postConstruct(ManagedBean.java:178)

              at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:298)

              at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:103)

              at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90)

              at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79)

              at org.kie.workbench.backend.AppSetup$Proxy$_$$_WeldClientProxy.toString(AppSetup$Proxy$_$$_WeldClientProxy.java)

              at org.uberfire.backend.server.cdi.SystemConfigProducer.runPostConstruct(SystemConfigProducer.java:122)

              at org.uberfire.backend.server.cdi.SystemConfigProducer.afterDeploymentValidation(SystemConfigProducer.java:105)

              at org.uberfire.backend.server.cdi.SystemConfigProducer$Proxy$_$$_WeldClientProxy.afterDeploymentValidation(SystemConfigProducer$Proxy$_$$_WeldClientProxy.java)

              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:597)

              at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)

              at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

              at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)

              at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)

              at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:164)

              at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)

              at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)

              at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:245)

              at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:233)

              at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:213)

              at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:75)

              at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:46)

              at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:31)

              at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:382)

              at org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:182)

              at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)

              at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)

              at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

              at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)

              at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

              at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)

              at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)

              at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)

              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

              at java.util.concurrent.FutureTask.run(FutureTask.java:138)

              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

              at java.lang.Thread.run(Thread.java:619)

             

             

            Thanks In Advacne,

            Feroze

            • 3. Re: KIE-Workbench + Tomcat + LDAP Authentication
              Maciej Swiderski Master

              Feroze Durani SK wrote:

               

              Thank you Maciej for the information.

               

              I could successfully install kie-wb-6.2.0 on tomcat7. But I came across the below queries while playing with Evaluation example in KIE-Workbench.

               

              1. Could not RE-deploy the project

               

                   I could see from release notes of JBPM6.2, the property -Dorg.kie.override.deploy.enabled is defaulted to false. (in the post: Accelerate your business: marzec 2015)

               

              • in 6.1 redeploy of same version (regardless if that was concrete version or snapshot) was by default allowed, in 6.2 concrete versions must be explicitly undeployed before they can be redeployed. This can be overridden by system property which will allow redeploy for all versions: -Dorg.kie.override.deploy.enabled=true


                   Due to the above reason, I couldn't redeploy the project after the changes. Could you please let me know where can I change this configuration in kie-wb-6.2.0-Final-tomcat7.war

              you need to set this in setenv.sh file in tomcat_home/bin folder - it's regular JVM parameter

               

              Feroze Durani SK wrote:

               

              2. Facing below Warning on server start up. Though, I could login to Kie-wb but could not make JTA transactions.

               

              WARNING: Participating in existing JTA transaction, but no JTA TransactionManager or TransactionSychronizationRegistry available:

              java.lang.NullPointerException

                at org.drools.persistence.jta.JtaTransactionManager.registerTransactionSynchronization(JtaTransactionManager.java:282)

                at org.drools.persistence.TransactionManagerHelper.registerTransactionSyncInContainer(TransactionManagerHelper.java:16)

                at org.drools.persistence.jta.TransactionLockInterceptor.release(TransactionLockInterceptor.java:90)

                at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:83)

                at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:358)

                at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.getIdentifier(CommandBasedStatefulKnowledgeSession.java:114)

                at org.jbpm.runtime.manager.impl.SingletonRuntimeManager.init(SingletonRuntimeManager.java:99)

                at org.jbpm.runtime.manager.impl.RuntimeManagerFactoryImpl.newSingletonRuntimeManager(RuntimeManagerFactoryImpl.java:64)

                at org.jbpm.services.cdi.impl.manager.RuntimeManagerFactoryCDIImpl$Proxy$_$$_WeldClientProxy.newSingletonRuntimeManager(RuntimeManagerFactoryCDIImpl$Proxy$_$$_WeldClientProxy.java)

                at org.jbpm.kie.services.impl.AbstractDeploymentService.commonDeploy(AbstractDeploymentService.java:133)

                at org.jbpm.kie.services.impl.KModuleDeploymentService.deploy(KModuleDeploymentService.java:152)

                at org.jbpm.services.cdi.impl.DeploymentServiceCDIImpl$Proxy$_$$_WeldClientProxy.deploy(DeploymentServiceCDIImpl$Proxy$_$$_WeldClientProxy.java)

                at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl.initDeployments(DeploymentManagerEntryPointImpl.java:113)

                at org.jbpm.console.ng.bd.backend.server.DeploymentManagerEntryPointImpl$Proxy$_$$_WeldClientProxy.initDeployments(DeploymentManagerEntryPointImpl$Proxy$_$$_WeldClientProxy.java)

                at org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl.bootstrapDeployments(AdministrationServiceImpl.java:191)

                at org.jbpm.console.ng.bd.backend.server.AdministrationServiceImpl$Proxy$_$$_WeldClientProxy.bootstrapDeployments(AdministrationServiceImpl$Proxy$_$$_WeldClientProxy.java)

                at org.kie.workbench.backend.AppSetup.assertPlayground(AppSetup.java:179)

                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:597)

                at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)

                at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

                at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)

                at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)

                at org.jboss.weld.introspector.jlr.WeldMethodImpl.invoke(WeldMethodImpl.java:168)

                at org.jboss.weld.bean.AbstractClassBean.defaultPostConstruct(AbstractClassBean.java:403)

                at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.postConstruct(ManagedBean.java:178)

                at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:298)

                at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:103)

                at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90)

                at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79)

                at org.kie.workbench.backend.AppSetup$Proxy$_$$_WeldClientProxy.toString(AppSetup$Proxy$_$$_WeldClientProxy.java)

                at org.uberfire.backend.server.cdi.SystemConfigProducer.runPostConstruct(SystemConfigProducer.java:122)

                at org.uberfire.backend.server.cdi.SystemConfigProducer.afterDeploymentValidation(SystemConfigProducer.java:105)

                at org.uberfire.backend.server.cdi.SystemConfigProducer$Proxy$_$$_WeldClientProxy.afterDeploymentValidation(SystemConfigProducer$Proxy$_$$_WeldClientProxy.java)

                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:597)

                at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)

                at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

                at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)

                at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)

                at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:164)

                at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)

                at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)

                at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:245)

                at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:233)

                at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:213)

                at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:75)

                at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:46)

                at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:31)

                at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:382)

                at org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:182)

                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)

                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5524)

                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)

                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)

                at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1245)

                at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1895)

                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

                at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

                at java.util.concurrent.FutureTask.run(FutureTask.java:138)

                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

                at java.lang.Thread.run(Thread.java:619)

              this indicates you don't have transaction synchronization registry in place. Make sure you define another system/jvm property in setenv.sh:

              -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry

               

              once you have that defined it should all work well

               

              HTH