IFM IPC Exception ------------------------- Hi, I'm trying to upda

IFM IPC Exception
-------------------------
Hi, I'm trying to update process variables using IFM, but it's failing at the update stage with error message "An IpcException has occurred while invoking the method: setProcessVariable on process-execution2 (localhost:5024)". I know this is a permissions issue, but I am already an administrator of the process I am trying to update, so what other permissions are there?

OriginalPostID-151143

OriginalPostID-151143

  Discussion posts and replies are publicly visible

  • Is the IFM node set to "Run as whoever started the process" ?
  • In addition to consider what was suggested above, can you post the rest of the stack trace? There should be several "Caused by" clauses describing the root cause.
  • Errors if running as process initiator or designer:

    An IpcException has occurred while invoking the method: setProcessVariable on process-execution2 (localhost:5024)
              at com.appiancorp.kougar.driver.KougarConnection.call(KougarConnection.java:295)
              at com.appiancorp.kougar.driver.KougarConnection.call(KougarConnection.java:214)
              at com.appiancorp.kougar.mapper.Mapper.request(Mapper.java:63)
              at com.appiancorp.kougar.services.KougarServiceInvocationHandler$KInvocationHandler.invoke(KougarServiceInvocationHandler.java:178)
              at com.appiancorp.kougar.services.KougarServiceInvocationHandler.invoke(KougarServiceInvocationHandler.java:310)
              at com.appiancorp.services.ProcessKougarServiceInvocationHandler.invoke(ProcessKougarServiceInvocationHandler.java:54)
              at com.sun.proxy.$Proxy46.setProcessVariable(Unknown Source)
              at com.appiancorp.process.execution.service.ProcessExecutionServiceFacade.setProcessVariable(ProcessExecutionServiceFacade.java:700)
              at sun.reflect.GeneratedMethodAccessor30943.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at com.appiancorp.util.MethodInvocationReflectionImpl.proceed(MethodInvocationReflectionImpl.java:23)
              at com.appiancorp.security.authz.AuthorizationMethodInterceptor.invoke(AuthorizationMethodInterceptor.java:54)
              at com.appiancorp.services.ServiceManager$ServiceInvocationHandler.invoke(ServiceManager.java:635)
              at com.sun.proxy.$Proxy46.setProcessVariable(Unknown Source)
              at com.appiancorp.custom.ifmm.ProcessAPI.setProcessVariableForInstance(ProcessAPI.java:385)
              at com.appiancorp.custom.ifmm.ProcessAPI.setExpressionResultForInstance(ProcessAPI.java:399)
              at com.appiancorp.custom.ifmm.frontend.IFMQueryRunner.updateInstance(IFMQueryRunner.java:212)
              at com.appiancorp.custom.ifmm.frontend.IFMQueryRunner.runActions(IFMQueryRunner.java:185)
              at com.appiancorp.custom.ifmm.frontend.IFMQueryRunner.run(IFMQueryRunner.java:102)
              at com.appiancorp.custom.ifmm.frontend.smartservice.IFMManager.runIFM(IFMManager.java:162)
              at com.appiancorp.custom.ifmm.frontend.smartservice.IFMManager.run(IFMManager.java:111)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:100)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:97)
              at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:25)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:97)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:83)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55)
              at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:80)
              at com.appiancorp.mdb.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:26)
              at sun.reflect.GeneratedMethodAccessor935.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
              at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
              at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
              at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
              at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
              at org.jboss.invocation.InterceptorContext.proceed(Interceptor
  • Search for the phrase "Caused by", the stack trace you posted doesn't have it, meaning it's not useful to determine the root cause.

  • Caused by: com.appiancorp.kougar.driver.exceptions.IpcObjectClassException: invalid object class: class java.lang.Long
              at com.appiancorp.kougar.driver.ipc.IpcConnection.t(IpcConnection.java:491)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.b(IpcConnection.java:497)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.b(IpcConnection.java:510)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.b(IpcConnection.java:517)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.b(IpcConnection.java:510)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.b(IpcConnection.java:510)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.write(IpcConnection.java:470)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.get(IpcConnection.java:154)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.call(IpcConnection.java:587)
              at com.appiancorp.kougar.driver.ipc.IpcConnection.call(IpcConnection.java:555)
              at com.appiancorp.kougar.driver.KougarConnection.call(KougarConnection.java:315)
              at com.appiancorp.kougar.driver.KougarConnection.call(KougarConnection.java:266)
              ... 89 more


  • The relevant error is:

    com.appiancorp.kougar.driver.exceptions.IpcObjectClassException: invalid object class: class java.lang.Long

    this is not permissions related. It indicates Appian was expecting a Long but got something else instead. It seems the issue is with your syntax to update value assuming you're using the IFM Manager Plug-in.

    To avoid errors I suggest you use this other one instead "Get and Set External Process Variables" which is easier to use for the purpose of updating a variable forum.appian.com/.../summary
  • Hi,

    "Get and Set..." isn't really an option as I need to update multiple processes, plus the associated security and tasks. I managed to get the original query to parse, it was just a case of getting it to include speech marks around the variable. However, I now have an issue with updating a user type - with or without the quotations it fails to parse. It is of the form:
    UPDATE 287 SET PV brm_User= [simondev] WHERE [pv!areaCode_text = 112]
    Any idea what form this should take?
  • 1. Creae a process variable of type user and assign the desired value
    2. Run this

    UPDATE 287 SET PV brm_User= [pv!myUserVariable] WHERE [pv!areaCode_text = 112]