9 Replies Latest reply on Oct 13, 2018 12:04 PM by inuser493104

    Process fails when running a Data Integration task

    inuser493104 New Member

      Hi,

       

      When trying to call a Data Integration task from an Application Integration process it fails with the following error:

       

      Exception class com.activee.rt.hub.agent.invoke.AeCloudAuthenticationException
      Exception message !AeAgentUtil.AgentAuthError!
      Exception stack trace com.activee.rt.hub.agent.invoke.AeCloudAuthenticationException: !AeAgentUtil.AgentAuthError!
       at com.activee.rt.hub.agent.AeAgentUtil.authenticateAgentToICS(AeAgentUtil.java:136)
       at com.activee.rt.hub.agent.AeAgentUtil.fetchAgentDetailsFromICS(AeAgentUtil.java:49)
       at com.activee.rt.hub.agent.AeAgentUtil.getSpiUrl(AeAgentUtil.java:64)
       at com.activee.rt.hub.agent.invoke.AeXmlCloudProcessInvokeHandler.getTargetUrl(AeXmlCloudProcessInvokeHandler.java:65)
       at com.activee.rt.hub.common.engine.AeXmlRemoteProcessInvokeHandler.createRequest(AeXmlRemoteProcessInvokeHandler.java:174)
       at com.activee.rt.hub.common.engine.AeXmlRemoteProcessInvokeHandler.handleInvoke(AeXmlRemoteProcessInvokeHandler.java:131)
       at org.activebpel.rt.bpel.server.engine.invoke.AeInvoker.handleInvoke(AeInvoker.java:203)
       at org.activebpel.rt.bpel.server.engine.AeInMemoryQueueManager$1.run(AeInMemoryQueueManager.java:183)
       at org.activebpel.work.AeDelegatingWork.run(AeDelegatingWork.java:58)
       at org.activebpel.work.AeProcessWorkManager$AeProcessWork.run(AeProcessWorkManager.java:250)
       at org.activebpel.work.AeDelegatingWork.run(AeDelegatingWork.java:58)
       at org.activebpel.work.AeExceptionReportingWork.run(AeExceptionReportingWork.java:54)
       at org.activebpel.work.AeWorkerThread.run(AeWorkerThread.java:152)
      Caused by: org.activebpel.rt.AeException: Error delivering request targeted for URI: https://dm-em.informaticacloud.com/ma/api/v3/agent/Login
       at org.activebpel.rt.http.AeHttpSendHandlerBase.deliver(AeHttpSendHandlerBase.java:204)
       at org.activebpel.rt.http.handler.AeHttpPostHandler.prepareAndDeliver(AeHttpPostHandler.java:86)
       at org.activebpel.rt.http.handler.AeHttpPostHandler.handle(AeHttpPostHandler.java:52)
       at org.activebpel.rt.http.AeHttpServiceManager.send(AeHttpServiceManager.java:61)
       at com.activee.rt.hub.agent.AeAgentUtil.authenticateAgentToICS(AeAgentUtil.java:118)
       ... 12 more
      Caused by: org.activebpel.rt.AeException: java.io.IOException: Stream closed
       at org.activebpel.rt.http.AeHttpResponse.consume(AeHttpResponse.java:362)
       at org.activebpel.rt.http.AeHttpSendHandlerBase.deliver(AeHttpSendHandlerBase.java:183)
       ... 16 more
      Caused by: java.io.IOException: Stream closed
       at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:159)
       at java.io.BufferedInputStream.available(BufferedInputStream.java:410)
       at org.apache.commons.httpclient.ContentLengthInputStream.available(ContentLengthInputStream.java:213)
       at java.io.FilterInputStream.available(FilterInputStream.java:168)
       at org.apache.commons.httpclient.AutoCloseInputStream.available(AutoCloseInputStream.java:143)
       at org.activebpel.rt.http.AeHttpResponse.consume(AeHttpResponse.java:345)
       ... 17 more

       

      Does anybody know what's going wrong?

      I've tried importing certificates to the secure agent truststore but this made no difference.

       

      Many thanks,

       

      Jon

        • 1. Re: Process fails when running a Data Integration task
          inuser493104 New Member

          Apologies for the lack of detail above, I don't seem to be able to edit the question. Just to add:

           

          - I'm currently using an IICS trial org

          - The above task runs successfully from Data Integration

          - The above error occurs when initiating the process both using a JMS event and a web service call

           

          Thanks,

          Jon.

          • 2. Re: Process fails when running a Data Integration task
            Sorabh Agarwal Support Moderators

            Hi Jon,

            Can you please check:

             

            1. If you have CAI_Anonymous.... user in your Org? You can do this by going to Administrator -> Users

            2. Are you making this process as an API call as anonymous user?

             

            Thanks,

            Sorabh

            • 3. Re: Process fails when running a Data Integration task
              Prakash Jain Guru

              Hi Jon,

               

              Has this issue been resolved ?

               

              Thanks,

              Prakash Jain

              • 4. Re: Process fails when running a Data Integration task
                inuser493104 New Member

                Hi Sorabh,

                 

                Many thanks for the reply. I've done some more investigation, and in response to your questions:

                 

                1. Yes, this user exists in my Org and has only the "Service Consumer" role assigned. This actual username is CAI_Anonymous_<my org id>, I hope this is correct?
                2. Also yes, this API call is being done as the anonymous user (the "allow anonymous access" checkbox is checked in my process Start component).
                  • Interestingly, when I run the REST request with "no auth", I receive the following error:
                {
                    "error": {
                        "code": 500,
                        "message": "unknown fault"
                    }
                }

                 

                               In this case, the process does try to execute, but the Data Integration task fails, giving the error message in my original post.

                 

                  • When using Basic Auth in the REST request with the CAI_Anonymous_... username (and no password), I get the following:

                 

                java.lang.NoSuchMethodError: org.apache.catalina.Service.getContainer()Lorg/apache/catalina/Engine;
                at com.activee.rt.tomcat.security.AeTomcatRealmAuthenticator.initRealm(AeTomcatRealmAuthenticator.java:113)
                at com.activee.rt.tomcat.security.AeTomcatRealmAuthenticator.getRealm(AeTomcatRealmAuthenticator.java:143)
                at com.activee.rt.tomcat.security.AeTomcatRealmAuthenticator.authenticate(AeTomcatRealmAuthenticator.java:66)
                at com.activee.rt.tomcat.security.AeTomcatLoginProvider.authenticate(AeTomcatLoginProvider.java:59)
                at org.activebpel.rt.bpel.server.security.AeSecurityProvider.authenticate(AeSecurityProvider.java:69)
                at org.activebpel.rt.bpel.server.security.AeSecurityProvider.doBasicAuthentication(AeSecurityProvider.java:302)
                at org.activebpel.rt.http.AeHttpUtil.updateRequestSubject(AeHttpUtil.java:694)
                at org.activebpel.rt.http.servlet.AeRequestAuthorizationFilter.updateRequestSubject(AeRequestAuthorizationFilter.java:149)
                at org.activebpel.rt.http.servlet.AeRequestAuthorizationFilter.doFilter(AeRequestAuthorizationFilter.java:112)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
                at org.activebpel.rt.http.servlet.AeEngineStatusCheckFilter.doFilter(AeEngineStatusCheckFilter.java:56)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:203)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
                at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:745)

                 

                               Here, the process (in Application Integration Console) doesn't even seem to start.

                 

                What concerns me is that I have an equivalent process that attempts to call the same Data Integration task but reacts to a message on a JMS queue rather than exposing a web service endpoint. This fails with the same error message as in my original post. My gut feeling is that something related to my local infrastructure where the Secure Agent is installed is fundamentally wrong, and I'm unable to find any documentation on the v3/agent/Login operation that shows up in the error message in my original post. I am, however, able to login using the v2 API (v2/user/login)  using a POST request.

                 

                Hope that clarifies, although I fear it might do the opposite...! Thanks for your help,

                 

                Jon

                • 5. Re: Process fails when running a Data Integration task
                  inuser493104 New Member

                  Hi Prakash,

                   

                  I've just responded with more details above - yes I'm afraid I'm still experiencing the issue.

                  Many thanks,

                   

                  Jon

                  • 6. Re: Process fails when running a Data Integration task
                    Sorabh Agarwal Support Moderators

                    Hi Jon,

                    Can you give one more try?

                     

                    Restart the secure agent, since you mentioned there could be issues with the agent. Hopefully, that resolves the issue

                     

                    Thanks,

                    Sorabh

                    • 7. Re: Process fails when running a Data Integration task
                      inuser493104 New Member

                      Hi Sorabh,

                       

                      Apologies for the delay in responding and thanks for the suggestion. Actually I had already tried restarting the agent and it did not make any difference. Unfortunately, I'm still experiencing the issue and have also now tried changing my account's password (in case there were any characters in there that might have been causing trouble). I've re-registered the account with the agent and this has also not made a difference.

                       

                      I'm out of ideas at this stage, but am currently looking for some samples from the Informatica KB to ensure that they work as expected.

                       

                      Thanks,

                       

                      Jon

                      • 8. Re: Process fails when running a Data Integration task
                        Sorabh Agarwal Support Moderators

                        Hi Jon,

                        Please refer this lab [Lab 3 - Orchestration of IICS Data Integration Tasks ]

                         

                        This gives out step-by-step details on how to call a DI task in a Process.

                        Hope this helps

                         

                        Thanks,

                        Sorabh

                        • 9. Re: Process fails when running a Data Integration task
                          inuser493104 New Member

                          Many thanks for this, Sorabh.

                           

                          I am able to import and successfully run the lab that you mentioned above. However, this is what I've noticed:

                           

                          • If I expose the main process (Data Task Flow Orchestration Sample) as a cloud endpoint, I can trigger it from a REST request
                          • If I expose the same process as an endpoint on the Secure Agent, it fails at the mapping task service call, giving the exception in my original post. Is this the expected behaviour, and if so, how can I trigger the process from a LAN-only consumer? The fault in the REST response is: "HTTP Status 403 - User is not authorized to perform operation within tenant context..."

                           

                           

                           

                           

                          I hope the above points make sense.

                          Thanks again for your help.

                           

                          Jon