- Adapter configuration error
Upon startup or on an attempt to process a business object,
errors can occur that are fatal or nonfatal:
- Fatal configuration errors during startup prevent the adapter
from starting and an error message is immediately logged.
- Similarly, configuration or routing errors that occur during
object processing are immediately logged. If the error occurs
during a pollForEvents() call, the error returned is only an error
code consistent with the method description. If the error occurs
during a doVerbFor(), the error message, error return code, and
message explanation are returned to the calling collaboration in
the response object.
- Logic processing error
Errors can also occur during logic processing (object
translation) though these are usually caused by errors in
configuration or improperly written XSL translation documents.
These errors cannot occur during a pollForEvents() call. If the
error occurs during a doVerbFor(), the error message, error return
code, and message explanation are returned to the calling
collaboration in the response object.
- Transport sending/receiving error
The majority of errors occur when an object is sent or received
from the target application.
Sending errors occur in the doVerbFor() method:
- Communication errors can be fatal to the adapter when I/O
errors occur. This results in the shutdown of the adapter with an
APPRESPONSETIMEOUT return code.
- When a processing or target application error occurs, the
collaboration exception object contains the return code and
necessary error messages. These messages are embedded in the
document returned from the application, and are handled by the
receiving component of the adapter.
Receiving errors can occur during a poll of the application for
new events, or when getting the response to an object sent:
- Fatal errors are I/O errors where the adapter fails to
correctly connect to the application using HTTP. These errors are
logged. On the next pollForEvents() and doVerbFor() method, the
APPRESPONSETIMEOUT return code is sent.
- Nonfatal errors occur when processing of an individual message
occurs (usually due to improper XML structure). These errors are
logged in the pollForEvents() method. It is assumed that these
methods are persisted in the event store and are handled
again.
- When a nonfatal error occurs in the doVerbFor() method, any
error messages provided by the target application are logged by the
adapter. If the generateErrorObject property is set to true, the
adapter attempts to create a separate error object that contains
the target application error and warning messages and sends that to
the server. Processing errors and their messages are logged by the
adapter. No additional object is created. All error messages are
included in the collaboration exception object returned to the
collaboration.