PX not showing in pull down list

PX’s in a jar file have been located in the extensions directory (per SDK Developer documentation) but when we try to utilize them in an event they do not show in the pull down list.  Is there something else need to “register” the PX and make it available?

Add Comment
4 Answer(s)

Hope you have added the Event class name along with the package as part of the META-INF/services/com.agile.px.IEventAction file.

Agile Angel Answered on October 25, 2018.
Add Comment

This is a common issue which most of us faced. Did you ensure these things:

1. As suggested by Madhu, please ensure that you have added META-INF –> Services –> com.agile.px.ICustomAction –> YourPackageName.YourMainClassName  
(this is for action based PX, for even based use the related deployment descriptor)
Also ensure the META-INF folder is added at the same level as that of your Source folder in the project.

2. If you are deploying the solution on a clustered environment, please ensure you have copied to “../Agile/Agile935/integration/sdk/extensions”  path on all the individual nodes.

Please re-try after that. At times i prefer closing existing Java-client and relaunching it to see it in Javaclient.  It should work.

Agile Angel Answered on October 25, 2018.
Add Comment

Couple more things to try

  1. Check the java version used to compile the PX. it has to match server version. For example, if your Agile server is using 1.7, you can’t compile with 1.8
  2. In the doAction method, check if you are doing any static initialization that don’t work on the server. For example, we had scenarios wherein we were initiating a log that wasn’t accessible in the server
Agile Angel Answered on October 25, 2018.
Add Comment

First, the META-INF/service should be named as IEventAction for event based PXes

Second, try removing cache located at your java tmp folder/*sdk*/

If still doesn’t show up in the drop down, recycle the app servers.

If still doesn’t show up, make sure your dependencies are all available

If all fail, comment out all of your logic and just return a valid  IEventAction string value like “I am running” to check your PX is in a valid format.

Best practice is to move as much of your logic into a separate Java class that you can “test” as a normal SDK code, not having to deploy to extensions folder.  The “main” class with doAction() should only be responsible for instantiating your logic class , execute logic , and then return status back.  That way, it’s pretty easy to verify that 1) your dummy main class with doAction() actually runs with valid expected status message coming back  2) easy to test outside of A9.

Agile Talent Answered on March 27, 2019.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.