...
If the action is an entry point (i.e., chained to /EntryAction or /XXXEntryAction which extends It will stop any time a rfc call results in an Exception. In the rare case you need to do something else (like continue other processing) when an Exception is encountered, you can wrap a try catch on MessageRuntimeException around your service execute calls.is associated with the class edu.mit.mortar.controller.action.GlobalEntryAction in the action-servlet.xml) the following steps automatically happen when someone enters this entry point:
- The method edu.mit.mortar.controller.action.GlobalEntryAction.execute is called and a session is created and the following session attributes are set:
- GlobalKeys.SAP_SYSTEM_ID
- GlobalKeys.WAS_SYSTEM_ID
- GlobalKeys.WAS_HOST
- GlobalKeys.USER_HOME
- The chained action is called which immediately calls the method IDDAction.execute which sets the following session attributes:
- GlobalKeys.CERT
- GlobalKeys.USERNAME
- GlobalKeys.KERBID
- At the end of IDDAction, SAPBaseAction.doProcess is called which opens a connection to SAP.
- At the end of SAPBaseAction, your action's method doAction is called within a MessageRuntimeException try catch. (If an Exception is encountered at this point, processing will stop and the user will be sent to the GlobalKeys.FAIL jsp page with a MessageRuntimeException unless your action intercepts the MessageRuntimeException and handles it.)
- If your action's method doAction calls a SAP RFC, SAPServiceSupport.execute is eventually called and
This provides automatic RFC error message handling (i.e. it takes all rfc messages and stores them into the struts actionmessages automatically).