All WsClient logic based on ECLWorkunit Action, should take into consideration the fact that this attribute might not always be populated.
Note from Kevin Wang:
I guess that the WorkunitInfo calls WsWorkunits.WUInfo to get information about an ECL workunit. The methods (incouding WsWorkunits.WUInfo) in the WsWorkunits uses a class called ECLWorkunit to return various information about an ECL workunit. But, not all of the variables inside the class are returned by each method. The ECLWorkunit.WUInfo only populates the ActionEx variable, not Action variable. So, I guess that the WorkunitInfo.getAction() always returns null. The WorkunitInfo.getActionEx() MAY return a string about the action IF the action is set. Some ECL workunit does not set the action. For example, if you submit an ECL workunit from ECLWatch ECL Playground, the action is not set.
If you submit an ECL workunit from ECL IDE, you may submit the workunit using the ‘Compile’ button. The WU should stop at compiled state. If you choose the ‘Submit’ button to run the workunit, the WU should go all the way to completed.