Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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:

  1. The method edu.mit.mortar.controller.action.GlobalEntryAction.execute is called and a session is created and the following session attributes are set:
    1. GlobalKeys.SAP_SYSTEM_ID
    2. GlobalKeys.WAS_SYSTEM_ID
    3. GlobalKeys.WAS_HOST
    4. GlobalKeys.USER_HOME
  2. The chained action is called which immediately calls the method IDDAction.execute which sets the following session attributes:
    1. GlobalKeys.CERT
    2. GlobalKeys.USERNAME
    3. GlobalKeys.KERBID
  3. At the end of IDDAction, SAPBaseAction.doProcess is called which opens a connection to SAP.
  4. 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.)
  5. 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).