Need help triggering a process flow via AGS and WFWK.1

 21 Replies
 0 Subscribed to this topic
 52 Subscribed to this forum
Sort:
Author
Messages
Ward Mitchell
Veteran Member
Posts: 81
Veteran Member
    Friends,

    I am working on a project involving invoking a process flow from AP160. I am trying to use an AGS call (like many have in here) and have not been having success. I tried to create a stub record in WFWK.1 so that if I call via the AGS call that it picks up. When I try to create the WFWK.1 record, it tells me that "EFTACH160 Service is not defined".

    I know I am not doing something right, can someone explain and show me how to make a process flow web callable and how to AGS call works with the wfwk.1 record / program.

    Thanks for all of your help in advance!
    David Williams
    Veteran Member
    Posts: 1127
    Veteran Member
      Your error message seems to indicate that you didn't set up the EFTACH160 Servcie in ProcessFlow Administration. Is that correct?
      David Williams
      Ward Mitchell
      Veteran Member
      Posts: 81
      Veteran Member
        See, here is where I am not sure of things because our admins do all of that. Us developers dont access to those things so we can have audit trails showing our requests since we work with production data that gets dumped ot our development servers. I will make them privy to this thread to see if they can chime in between their schedule to get things moving along. Thanks David for the prompt response and here we go again bro !
        Ward Mitchell
        Veteran Member
        Posts: 81
        Veteran Member
          They pointed the process flow to the wrong product line, so moved it. Now they need to enable the flow to be invoked via the web. Is there a setting in the PF Admin to do that? Or/And is that the same as setting it up as a service?
          Ward Mitchell
          Veteran Member
          Posts: 81
          Veteran Member
            [quote]
            Posted By ConsultDavidW on 09/08/2010 10:37 AM
            Your error message seems to indicate that you didn't set up the EFTACH160 Servcie in ProcessFlow Administration. Is that correct?
            [/quote]

            See the attached. Are we missing something?

            David Williams
            Veteran Member
            Posts: 1127
            Veteran Member
              You should leave the Data Area off unless you need to limit your Service to the one product line.
              There are two other Service forms that need to be defined:
              Service Criteria Level Definition
              Service Process Definition
              David Williams
              Ward Mitchell
              Veteran Member
              Posts: 81
              Veteran Member
                [quote]
                Posted By ConsultDavidW on 09/08/2010 11:40 AM
                You should leave the Data Area off unless you need to limit your Service to the one product line.
                There are two other Service forms that need to be defined:
                Service Criteria Level Definition
                Service Process Definition
                [/quote]

                We just have this deployed to that product line but will keep this in mind when we push this out. When my admin gets back form lunch we will work on this and chime back here on the boards.

                But to just ask, if we set these up correct and everything and run our ags call, life should be generally good I hope if you can answer this question: My process flow has about 10 to 15 variables. In my AGS call, can I just add the variables that I want to populate from the web portal page and have success calling? What I want to do is pass in a company number and a date. I want to esnure that when the flow kicks off though, that it will use my values I pass it and not what is assigned in the Start node of the flow.

                After this then we should have enough to move and make progress today!
                David Williams
                Veteran Member
                Posts: 1127
                Veteran Member
                  You don't have to pass all of the variables so that shouldn't be an issue. If you're not passing them, then why are they set up?
                  David Williams
                  Ward Mitchell
                  Veteran Member
                  Posts: 81
                  Veteran Member
                    [quote]
                    Posted By ConsultDavidW on 09/08/2010 11:55 AM
                    You don't have to pass all of the variables so that shouldn't be an issue. If you're not passing them, then why are they set up?
                    [/quote]

                    I know, I just wanted to ask to prevent headaches once I can get this thing working. So call it getting the dumas questions out now! Thanks, I will report back soon.
                    Ward Mitchell
                    Veteran Member
                    Posts: 81
                    Veteran Member
                      [quote]
                      Posted By Ward Mitchell on 09/08/2010 11:58 AM
                      [quote]
                      Posted By ConsultDavidW on 09/08/2010 11:55 AM
                      You don't have to pass all of the variables so that shouldn't be an issue. If you're not passing them, then why are they set up?
                      [/quote]

                      I know, I just wanted to ask to prevent headaches once I can get this thing working. So call it getting the dumas questions out now! Thanks, I will report back soon.
                      [/quote]

                      So we did setup some things but we still are getting the error Service not found on the WFWK.1. Check out the screenshot posted and let me know if we have something incorrect or not filled out. Thanks!



                      David Williams
                      Veteran Member
                      Posts: 1127
                      Veteran Member
                        Well, the Service Process Definition needs the Process Name added (that's your uploaded flow from PF Designer) and the Event Type should be EVT_FLOW.

                        Also, check your Portal Form WF01 to make sure it has LOGAN as the CCS product line.
                        David Williams
                        David Williams
                        Veteran Member
                        Posts: 1127
                        Veteran Member
                          I just noticed, on the Service Criteria Level Definition you need to add a blank record on line 1.

                          Select Add in the FC field and leave the other field values as they appear. Click Process.
                          David Williams
                          Ward Mitchell
                          Veteran Member
                          Posts: 81
                          Veteran Member
                            I did everything as specified and still no dice at this point.

                            The PF Service / Server is running
                            I did everything you listed DavidW

                            Is there something else we are missing?
                            David Williams
                            Veteran Member
                            Posts: 1127
                            Veteran Member
                              You updated all 3 Service Definition forms and checked the WF01 form value? Please send me your JavaScript code that triggers WFWK.
                              David Williams
                              Ward Mitchell
                              Veteran Member
                              Posts: 81
                              Veteran Member
                                [quote]
                                Posted By ConsultDavidW on 09/08/2010 02:25 PM
                                You updated all 3 Service Definition forms and checked the WF01 form value? Please send me your JavaScript code that triggers WFWK.
                                [/quote]

                                Check your email. Xml file is in txt file
                                Ward Mitchell
                                Veteran Member
                                Posts: 81
                                Veteran Member
                                  Well we finally had some movement on this issue. All Process Flow services are now up and running. BUT, I am still getting the following:


                                  Servlet Xpress reported: Missing required parameter: _TKN

                                  com.lawson.ios.agent.AgentException: MISSING_PARAMETER
                                  at com.lawson.util.eli.EliBaseServlet.getRequiredParameter(EliBaseServlet.java:66)
                                  at com.lawson.servlet.Xpress.doGet(Xpress.java:170)
                                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
                                  at com.lawson.ios.authen.SecureHttpServlet.service(SecureHttpServlet.java:40)
                                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
                                  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
                                  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
                                  at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
                                  at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
                                  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
                                  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
                                  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
                                  at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
                                  at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
                                  at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
                                  at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
                                  at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
                                  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
                                  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
                                  at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
                                  at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
                                  at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
                                  at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
                                  at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
                                  at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
                                  at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
                                  at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
                                  at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
                                  at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

                                  ConsultDavidW, you confirmed the files had the _TKN in the Ags call url on the button click event. So do you, or anyone else, have any ideas at this point?
                                  David Williams
                                  Veteran Member
                                  Posts: 1127
                                  Veteran Member
                                    I sometimes get this error if I don't have my "return" call in the correct spot.
                                    David Williams
                                    Ward Mitchell
                                    Veteran Member
                                    Posts: 81
                                    Veteran Member
                                      Here is the section of code (minus other javascript functions) below. You had suggested that I set return true; like this. It seems as though the button click and AgS call runs but then once it hits WFWK.1 maybe, something is happening there where it may be expecting _TKN maybe? But code is below (I also emailed you a copy of the file as well at this time):



                                      //call EFT ACH Advice Email Process Flow to execute
                                      var sPFErrMessage="";
                                      var sPFMessage="";

                                      //NOTE: SEE FOR REFERENCE - https://www.lawsonguru.co...ft/6887/Default.aspx
                                      var sPFURL=portalWnd.AGSPath+"?";
                                      currentPDL="TMP";
                                      sPFURL += "_PDL="+currentPDL;
                                      sPFURL += "&_TKN=WFWK.1";
                                      sPFURL += "&_EVT=ADD";
                                      sPFURL += "&_RTN=DATA";
                                      sPFURL += "&_LFN=ALL";
                                      sPFURL += "&_TDS=IGNORE";
                                      sPFURL += "&FC=Add";
                                      sPFURL += "&SERVICE=EFTACH160";
                                      sPFURL += "&WORK-TITLE=EFTACHAdviceEmail";
                                      //sPFURL += "&PRODUCT-LINE="+currentPDL;
                                      sPFURL += "&VARIABLE-NAMEr0=queryDate";
                                      tmpValue=String(getTodaysDateAsMMDDYYYYString(dTempToday,"yyyymmdd"));
                                      //tmpValue=String(String(dTempToday.getFullYear())+String((dTempToday.getMonth()+1<10 ? "0"+String(dTempToday.getMonth()+1) : String(dTempToday.getMonth()+1)))+String((dTempToday.getDay()<10 ? "0"+String(dTempToday.getDay()) : String(dTempToday.getDay()))));
                                      tmpValue="20100903"; //REMOVE TO GO LIVE!!!
                                      sPFURL += "&VARIABLE-VALUEr0="+tmpValue;
                                      sPFURL += "&VARIABLE-NAMEr1=passedCompany";
                                      sPFURL += "&VARIABLE-VALUEr1="+currentUSERCMP;
                                      sPFURL += "&_DELIM=%09";
                                      sPFURL += "&_OUT=TEXT";
                                      sPFURL += "&_EOT=TRUE";
                                      //alert("DIRTY sPFURL="+sPFURL);
                                      //sPFURL = String(cleanDataStringForDMEQuery(sPFURL));
                                      //alert("CLEAN sPFURL="+sPFURL);

                                      //call process follow and return results accordingly
                                      var oResponse=portalWnd.httpRequest(sPFURL);
                                      if(!oResponse || oResponse.status)
                                      {
                                      sPFErrMessage="THE URL: "+sPFURL+" IS MALFORMED IN SOME MANNER. PF TRANSACTION CALL COULD NOT BE MADE AT THIS TIME ("+oResponse.status+")";
                                      sPFMessage="ACH Advice Notifications have not been sent out successfully at this time for the following reasons:\n\n"+sPFErrMessage+"\n\nShould this issue persist, please contact Lawson Support for further assistance.";
                                      }
                                      else
                                      {
                                      sPFMessage="ACH Advice Notifications have been sent out successfully at this time!";
                                      }
                                      alert(sPFMessage);
                                      return true;
                                      Ward Mitchell
                                      Veteran Member
                                      Posts: 81
                                      Veteran Member
                                        FYI to the code above, the url runs and is successful is calling the url, shows the alert message "ACH Advice Notifications have been sent out successfully at this time!", but then after that it seems that the page redirects and then prompts the error message.

                                        EDIT 945am: I am going to try a transaction query instead via https://www.lawsonguru.co...ft/6844/Default.aspx and see if this helps!
                                        Ward Mitchell
                                        Veteran Member
                                        Posts: 81
                                        Veteran Member
                                          I even tried the transaction query as well, rather than a AGS URL Call, no dice either! Although I get the same error when I use the transaction query. So I know it is probably a configuration issue now, just not sure where!
                                          Ward Mitchell
                                          Veteran Member
                                          Posts: 81
                                          Veteran Member
                                            it should be &_TKN not &TKN. Ah. So now I need to get emails to come!
                                            Ward Mitchell
                                            Veteran Member
                                            Posts: 81
                                            Veteran Member
                                              So I looked at the IOS log and found the following; any ideas?

                                              +++


                                              2010-09-29 09:19:10,530 ERROR [FileMgr] com.lawson.ios.agent.AgentException: FILE_NOT_FOUND
                                              2010-09-29 09:21:20,906 ERROR [FileMgr] com.lawson.ios.agent.AgentException: FILE_NOT_FOUND
                                              2010-09-29 09:21:33,906 INFO [UIDef] getUIDefFileLoc called with prodline: TMP token: WF01.1 language: default customFormID: null
                                              2010-09-29 09:21:42,422 INFO [ErpTransactionAgent] processing transaction: TMP/WF01.1
                                              2010-09-29 09:21:47,984 INFO [ErpTransactionAgent] processing transaction: TMP/WF01.1
                                              2010-09-29 09:21:57,875 INFO [UIDef] getUIDefFileLoc called with prodline: TMP token: WFWK.1 language: default customFormID: null
                                              2010-09-29 09:22:12,953 INFO [ErpTransactionAgent] processing transaction: TMP/WFWK.1
                                              2010-09-29 09:24:23,938 INFO [ErpTransactionAgent] processing transaction: TMP/WFWK.1
                                              2010-09-29 09:25:07,048 ERROR [FileMgr] com.lawson.ios.agent.AgentException: FILE_NOT_FOUND
                                              2010-09-29 09:25:07,220 INFO [UIDef] getUIDefFileLoc called with prodline: TMP token: WFWK.1 language: default customFormID: null
                                              2010-09-29 09:25:17,017 ERROR [FileMgr] com.lawson.ios.agent.AgentException: FILE_NOT_FOUND
                                              2010-09-29 09:25:21,720 INFO [UIDef] getUIDefFileLoc called with prodline: TMP token: AP160 language: default customFormID: null
                                              2010-09-29 09:25:21,720 INFO [UIDef] getCustomUIDefXml called with prodline: tmp token: AP160 language: default customFormID: null
                                              2010-09-29 09:25:23,986 WARN [FieldManager] [JOBNAME, DESCRIPTION]
                                              2010-09-29 09:25:23,986 WARN [FieldManager] field not found in fhs: Type
                                              2010-09-29 09:25:24,157 WARN [FieldManager] [JOBNAME, DESCRIPTION]
                                              2010-09-29 09:25:24,157 WARN [FieldManager] field not found in fhs: Type
                                              2010-09-29 09:25:28,517 INFO [ErpTransactionAgent] processing transaction: TMP/AP160
                                              2010-09-29 09:25:34,408 INFO [ErpTransactionAgent] processing transaction: TMP/WFWK.1
                                              2010-09-29 09:25:35,673 ERROR [Xpress]
                                              com.lawson.ios.agent.AgentException: MISSING_PARAMETER
                                              at com.lawson.util.eli.EliBaseServlet.getRequiredParameter(EliBaseServlet.java:66)
                                              at com.lawson.servlet.Xpress.doGet(Xpress.java:170)
                                              at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
                                              at com.lawson.ios.authen.SecureHttpServlet.service(SecureHttpServlet.java:40)
                                              at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
                                              at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
                                              at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
                                              at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
                                              at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
                                              at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
                                              at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
                                              at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
                                              at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
                                              at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
                                              at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)
                                              at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
                                              at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125)
                                              at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
                                              at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
                                              at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
                                              at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
                                              at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
                                              at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
                                              at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
                                              at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
                                              at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
                                              at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
                                              at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
                                              at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
                                              2010-09-29 09:27:13,596 INFO [ErpTransactionAgent] processing transaction: TMP/WFWK.1
                                              2010-09-29 09:27:14,830 ERROR [Xpress]